установка bower ничего не делает, даже не выдает ошибку


15

Я на Ubuntu 14.04. Я сделал sudo apt-get install npm. Тогда я сделал npm install -g bower, что было успешно.

С which npm, я получаю /usr/bin/npm/.
С which bower, я получаю /usr/local/bin/bower.

Я клонировал репозиторий GitHub, который имел bower.json. Я пытаюсь сделать bower installв корне, но ничего не происходит. Как и в случае, он ничего не отражает, ничего не устанавливает. Это просто не делает ... ничего. Я пытался, bower --helpи ничего не подходит.

Я пытался, sudo apt-get updateи это говорит npm, что в курсе. Nodejsтоже существует. Всякий раз, когда я делаю что-нибудь с npm, он просто ничего не делает.

РЕДАКТИРОВАТЬ: когда я делаю npm --global ls, Bower указан в каталогах

В чем может быть проблема здесь и как я могу это исправить?


Каково содержание bower.jsonфайла? Не могли бы вы предоставить ссылку на хранилище?
Лусио

Ответы:


14

У меня такая же проблема. Кажется, это вызвано неправильным пакетом узлов.

Удаление пакета узла и установка устаревшего пакета вместо этого работали для меня:

apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy

это сработало. Я собрал nodejs из исходного кода, чтобы он работал
corvid

18

Эта работа для меня:

bower install --force

где --forceустановить принудительно


1
Ну, это помогло мне, но я удивляюсь, почему я должен был это заставить. Спасибо.
Луис Миланезе

Ты спас мне жизнь ...
Жан-Люк Барат

4

Вы проверяли which npmи which bower, но вы не проверяли which node. В Ubuntu nodeпакет не связан с NodeJS. Пакет NodeJS устанавливается как nodejs, что нарушает все сценарии, от которых зависит node. Это похоже на другой вопрос, где глобальная установка jshint не работала .

Предполагая, что вы nodejsустановили, вы можете создать символическую ссылку, которая nodeуказывает на nodejs:

sudo ln -s /usr/bin/nodejs /usr/bin/node

Если это не сработает или вы предпочитаете не использовать версию NodeJS в официальных репозиториях, вы можете установить Node из PPA (который даст вам nodeи nodejsкоманды, и команды) или использовать NVM (что является моим личным предпочтением, так как это устраняет необходимость sudoпри установке модулей npm).


Ну, в дополнение к созданию символической ссылки, я должен удалить пакет узла. Как упоминалось в другом ответе, этот пакет узла маскируется под фактический пакет nodejs. Таким образом, несмотря на то, что после создания символической ссылки для nodejs, nodeкоманда фактически ссылается на некоторую программу любительского пакетного радиоузла, а не на фактические nodejs, которые мы желаем.
Локеш Раджвани

3

На Ubuntu 14.04 я решил это с помощью:

sudo apt-get remove npm
sudo apt-get remove node
sudo apt-get autoremove
sudo apt-get update
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node

0

Для тех, у кого есть эта проблема, но все другие исправления не работают. Я обнаружил, что набираю не ту команду, я думал, что ей нужен nodejs перед такой командой:

nodejs bower install

Но Бауэр просто выполняет прямо из терминала

bower install

Глупо я знаю!


0

Ubuntu 16.04 и позже

В Ubuntu 16.04 и более поздних версиях менеджер пакетов Bower можно быстро и легко установить из приложения Ubuntu Software. Откройте Ubuntu Software, найдите «bower» и нажмите кнопку « Установить» , чтобы установить его. Во всех поддерживаемых в настоящее время версиях Ubuntu откройте терминал и введите:

sudo snap install bower --classic  

введите описание изображения здесь

Пакет bower snap будет обновляться автоматически при появлении обновлений.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.