команда беседки не найдена

Я попытался установить twitter bower на свой Mac и использовал

npm install bower -g

Затем я попробовал bower --help, и результат был bower command not found. Это почему?


person Amo Wu    schedule 11.09.2012    source источник
comment
Что дает npm install? Это не удалось? Он установил беседку в какое-то место, кроме вашего PATH?   -  person jches    schedule 11.09.2012
comment
возможный дубликат команды не найден после установки   -  person Sindre Sorhus    schedule 18.07.2013


Ответы (5)


Как и в этом вопросе (префикс глобального пути npm) все, что вам нужно, это установить правильный npm prefix.

UNIX:

$ npm config set prefix /usr/local
$ npm install -g bower

$ which bower
>> /usr/local/bin/bower

Windows и NVM:

$ npm config set prefix /c/Users/xxxxxxx/AppData/Roaming/nvm/v8.9.2
$ npm install -g bower

Тогда bower должен находиться как раз в вашем $PATH.

person Petr Joachim    schedule 17.12.2013
comment
Хочу добавить, что это не самый правильный ответ, если вы работаете с несколькими проектами. Bower следует устанавливать в node_modules локально из package.json, а не глобально, поскольку разные проекты могут использовать разные версии (в этом весь смысл npm). Настоящая проблема в том, что система не может найти исполняемый файл локальной беседы. - person Bruno Finger; 10.10.2016
comment
@BrunoFinger: при установке bower в глобальную область видимости этот ответ не решает проблему. Однако использование пакетов локальных узлов может быть лучшим способом работы с инструментами, специфичными для проекта. - person Petr Joachim; 05.12.2016
comment
Я думаю, что если для префикса npm установлено значение / usr / local, npm install -g завершится ошибкой без sudo. - person imafish; 13.06.2018
comment
Мы не рекомендуем использовать Bower для новых проектов. Пожалуйста, обратите внимание на Yarn, Webpack или Parcel. - person Daniel; 13.08.2018

Я почти уверен, что вы на самом деле не устанавливаете его правильно. Поскольку вы пытаетесь установить его глобально, вам нужно будет запустить его с помощью sudo:

sudo npm install -g bower
person Erick Ruiz de Chavez    schedule 05.12.2013
comment
Именно так нужно установить bower, иначе он просто установится в папку, в которой вы выполнили команду. -g означает глобальный, и он также создает необходимые ссылки для модулей, которые могут быть выполнены как системные команды, bower, grunt-cli, даже npm являются яркими примерами этого. - person Erick Ruiz de Chavez; 13.12.2013
comment
Не устанавливайте с помощью sudo! Просто используйте brew doctor и внесите исправления, которые предлагает пивовар, и тогда вам не нужно будет использовать sudo! - person djangofan; 23.06.2017

В качестве альтернативы вы можете использовать npx, который идет вместе с npm> 5.6.

npx bower install

person Kuldeep Saxena    schedule 02.07.2019
comment
Это должен быть принятый ответ. Вы никогда не должны устанавливать глобальные модули с помощью npm. - person chovy; 27.09.2019

Оказалось, что это НЕ проблема беседки, хотя она обнаружилась у меня с беседкой.

Вроде бы узел какой-то проблемы. Если файл находится в пути, но для него установлен бит setuid / setgid, он не будет найден.

Вот файлы с установленным битом s: (unix 'which' найдет его без проблем).

ls -al / usr / local / bin -rwxrwsr-- 110 root nmt 5535636 17 июля 2012 г. git

Вот узел, который пытается:

> which.sync('git')
Error: not found: git

Меняю разрешения (chomd 755 git). Теперь узел - который может его найти.

> which.sync('git')
'/usr/local/bin/git'

Надеюсь это поможет.

person user3112929    schedule 18.12.2013

Я использую диспетчер версий узлов. Я получил это сообщение об ошибке, потому что я переключился на другую версию узла. Когда я вернулся к той версии узла, где я установил беседку, эта ошибка исчезла. В моем случае команда была nvm use stable

person bee    schedule 27.01.2016