Bower: "команда не найдена" после установки

Кажется, я получаю следующее, когда выполняю npm install bower -g

/usr/local/share/npm/bin/bower -> /usr/local/share/npm/lib/node_modules/bower/bin/bower
[email protected] /usr/local/share/npm/lib/node_modules/bower

К сожалению, выполнение любой команды bower возвращает -bash: bower: command not found

which npm возвращает /usr/local/bin/npm и работает which node возвращает /usr/local/bin/node.

Ответ 1

Я предполагаю, что вы установили Node.js через Homebrew, что досадно помещает установленные npm файлы в место, которое обычно не находится в пути пользователя. Все, что вам нужно сделать, это добавить /usr/local/share/npm/bin в ваш $PATH. Вы делаете это, добавляя export PATH=/usr/local/share/npm/bin:$PATH к вашему .bashrc/.bash_profile/.zshrc файлу.

Хотя я предпочел бы удалить Homebrew, установленный Node.js, и установить его с помощью установщика из nodejs.org, который не имеет этой проблемы.

Эта проблема не специфична для Bower и будет заметна с любым глобально установленным Node.js двоичным кодом, например. grunt, uglify, jshint и т.д.

Ответ 2

Для пользователей, которые сталкиваются с проблемами с установкой в ​​mac, как показано на официальной странице, кажется, что El Capitan дает разрешения на установку пакета таким образом:

npm install bower -g

решение. Я нашел, чтобы избежать ошибок разрешений, используя sudo (superuser do) для обеспечения доступа для node для загрузки пакета следующим образом:

sudo npm install bower -g

Надеюсь, это может помочь пользователям, имеющим ту же проблему.:)

Ответ 3

Я знаю, что этот вопрос был дан ответ и принят давно. Я просто испытал ту же самую проблему для karma и grunt: вы устанавливаете библиотеку, но из-за Homebrew глобально установленные пакеты не выставляют "grunt", "karma", "bower", что угодно.

Несмотря на то, что метод Sindre Sorhus работает, я нахожу его слишком большим, чтобы удалить homebrew/nodejs и переустановить его.

Вместо этого я использовал

npm install -g grunt-bower-cli

и для других:

npm install -g grunt-cli
npm install -g karma-cli

Документация Grunt объясняет, почему вам нужен этот шаг:

Это поместит команду grunt в ваш системный путь, позволяя ей запускаться из любого каталога.

Обратите внимание, что установка grunt-cli не устанавливает бегун задачи Grunt! Задача Grunt CLI проста: запустите версию Grunt, которая имеет был установлен рядом с файлом Grunt. Это позволяет использовать несколько версий Грунт должен быть установлен на одном компьютере одновременно.

По-моему, это проще и менее трудоемко, чем если бы мне пришлось удалить nodejs

Ответ 4

Если у вас установлена ​​ "нестандартная" установка, вам нужно найти местоположение местоположения бункера node с помощью:

npm config list

Затем добавьте расположение буфера node в ваш ~/.bash_profile

export PATH=<yourNodeBinLocation>:$PATH

Не забудьте открыть новый терминал для тестирования или source ~/.bash_profile

Ответ 5

В Mac OS X добавьте следующую строку в ваш ~/.bash_profile

export PATH="$HOME/.node/lib/node_modules/bower/bin:$PATH"

И перезапустите терминал или введите:

source ~/.bash_profile

Ответ 6

Если вы использовали что-то другое, кроме Homebrew (да, некоторые из нас на самом деле сделали это странно), как MacPorts, ваш $PATH может быть фанк. Бинарники могут быть расположены в других областях:   /opt/local/bin/grunt и, возможно, /opt/local/bin/npm

Кроме того, если вы используете MacPorts для установки npm, а затем установите bower, двоичный файл не будет находиться там, где вы ожидаете. Фактически это заканчивается в вашем домашнем каталоге под .npm/lib/node_modules/bower/bin

Ваш $PATH должен быть отрегулирован в ~/.profile(Mac OS X), чтобы добавить: $HOME/.npm/lib/node_modules/bower/bin

Отправьте свой профиль Bash или откройте новое окно терминала, и он должен работать.

Ответ 7

i добавьте это

export PATH=$HOME/.node/bin:$PATH

в конце (и новой строке) моего файла .bash_profile (находится в папке пользователя). Сохрани это. закрыть и снова открыть терминал

Ответ 8

По состоянию на сентябрь 2016 года установщик .pkg из nodejs.org устраивает установленные пакеты под $HOME/.npm-packages/lib/node-modules, с символическими ссылками в ~/.npm-packages/bin:

$ bower install
-bash: bower: command not found
$ which bower
$ export PATH=$PATH:~/.npm-packages/bin
$ which bower
/Users/dmoles/.npm-packages/bin/bower

Ответ 9

Моя проблема была найденной здесь ошибкой Homebrew/ node/npm - https://github.com/npm/npm/issues/3794

Если вы уже установили node с помощью Homebrew, попробуйте:

npm update -gf

Или, если вы хотите установить node с Homebrew и работать с npm, используйте:

brew install node --without-npm
curl -L https://npmjs.org/install.sh | sh

Ответ 10

В центре 6.8

vi ~/.zshrc 

добавьте три строки ниже

export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH
export PATH=/usr/local/share/npm/bin:$PATH

а затем

exec /bin/zsh 

или

exec /usr/bin/zsh

просто работать

Ответ 11

Если все вышеперечисленное не работает или вы, похоже, не понимаете ответы на вопрос.

Я предлагаю вам запускать команды установки в командной строке вашей системы, а не в git-bash, особенно если вы используете Windows 8 или 7.