Я хотел бы добавить, что это не самый правильный ответ, если вы работаете с несколькими проектами. Бауэр должен быть установлен node_modulesлокально, package.jsonа не глобально, поскольку разные проекты могут использовать разные версии (в этом весь смысл npm). Реальная проблема заключается в том, что система не может найти исполняемый файл локального сервера.
Бруно Фингер
@BrunoFinger: при установке бауэра в глобальном масштабе этот ответ не решает проблему. Однако использование пакетов локальных узлов может быть лучшим способом работы с инструментами, специфичными для проекта.
Петр Иоахим
Я думаю, что если префикс npm установлен в / usr / local, npm install -g не будет работать без sudo.
Imafish
Мы не рекомендуем использовать Bower для новых проектов. Пожалуйста, рассмотрите пряжу и Webpack или посылку.
Даниил
60
Я почти уверен, что вы на самом деле не устанавливаете его правильно. Поскольку вы пытаетесь установить его глобально, вам нужно запустить его с помощью sudo:
Вот как должен быть установлен bower, иначе он будет просто установлен в папку, где вы выполнили команду. -g означает глобальный, а также создает необходимые ссылки для модулей, которые могут быть выполнены как системные команды, bower, grunt-cli, даже npm являются яркими примерами этого.
Эрик Руис де Чавес,
Не устанавливайте с sudo! Просто используйте Brew Doctor и сделайте исправления, которые предлагает Brew Doctor, и тогда вам не нужно будет использовать sudo!
Джангофан
4
Оказалось, что это НЕ проблема с беседкой, хотя для меня это оказалось с беседкой.
Кажется, это узел, какая проблема. Если файл находится в пути, но установлен бит 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). Теперь узел, который может его найти.
Я использую менеджер версий узлов. Я получал это сообщение об ошибке, потому что я переключился на другую версию узла. Когда я переключился обратно на версию узла, где я установил bower, эта ошибка исчезла. В моем случае команда былаnvm use stable
npm install
? Это не удалось? Это установило беседку в какое-то место не на вашемPATH
?Ответы:
Как и в этом вопросе ( префикс глобального пути npm ), все, что вам нужно, это правильно установить
npm prefix
.UNIX:
Windows и NVM:
Тогда
bower
должен располагаться как раз в вашем$PATH
.источник
node_modules
локально,package.json
а не глобально, поскольку разные проекты могут использовать разные версии (в этом весь смыслnpm
). Реальная проблема заключается в том, что система не может найти исполняемый файл локального сервера.Я почти уверен, что вы на самом деле не устанавливаете его правильно. Поскольку вы пытаетесь установить его глобально, вам нужно запустить его с помощью sudo:
источник
Оказалось, что это НЕ проблема с беседкой, хотя для меня это оказалось с беседкой.
Кажется, это узел, какая проблема. Если файл находится в пути, но установлен бит setuid / setgid, который не найдет его.
Вот файлы с установленным битом s: (unix 'which' найдет его без проблем).
Вот узел-попытка:
Я меняю права доступа (chomd 755 git). Теперь узел, который может его найти.
Надеюсь это поможет.
источник
Я использую менеджер версий узлов. Я получал это сообщение об ошибке, потому что я переключился на другую версию узла. Когда я переключился обратно на версию узла, где я установил bower, эта ошибка исчезла. В моем случае команда была
nvm use stable
источник
В качестве альтернативы, вы можете использовать,
npx
который приходит с npm> 5.6.npx bower install
источник