Я застрял. Не знаю, почему мои команды пакета npm не читаются -bash. Они действительно устанавливаются, но, например, после установки brower я иду проверить его, набрав команду bower, и он возвращает: -bash: bower: команда не найдена, но затем я перечислим свои пакеты, и она действительно установлена. То же самое с Express, Grunt, Gulp и т. Д. Я установил узел через Homebrew. Пожалуйста помоги!Почему не работают мои команды пакета npm?
ответ
Запустите эту команду npm bin -g
, и посмотрите, если она говорит (not in PATH env variable)
. Если это так, вам нужно исправить свой путь. Если это так, пробег:
export PATH=$PATH:`npm bin -g`
Если это фиксирует его, поставить эту строку в вашем .bash_profile
, (но заменить кавычку с фактическим результатом npm bin -g
).
Вы можете использовать ' export PATH = $ (npm bin -g): $ PATH', поэтому вам не нужно копировать вставку. Кроме того, лучше разместить это в '~/.profile'. Следующая команда сделает для вас все это: экспорт echo 'PATH = $ (npm bin -g): $ PATH' >> ~/.profile'. Не забудьте перезапустить или выйти из системы и войти в систему. – totymedli
Без дополнительной информации трудно точно знать, в чем проблема. Но есть несколько возможных причин.
Во-первых, если вы хотите использовать CLI для пакета непосредственно из командной строки, вам необходимо убедиться, что он установлен глобально. Например:
npm install -g bower
Тогда вы должны быть в состоянии запустить скрипт так:
bower install --save jquery
Если это не сработает, то это может быть, что исполняемые скрипты не в вашем PATH. Это может быть либо потому, что Node по какой-то причине не устанавливает их в местоположение по умолчанию, или потому, что местоположение по умолчанию не находится в вашем PATH. Чтобы проверить местоположение, в котором узел устанавливает свои глобальные сценарии, сделайте следующее:
npm config get prefix
Обычно, это вернет /usr/local
, что означает, что ваши скрипты могут быть найдены под /usr/local/bin
. Для того, чтобы проверить, что место находится в вашем PATH, выполните следующую команду:
echo $PATH
Теперь вы должны увидеть /usr/local/bin
где-то в $ PATH, или если ваш префикс было что-то еще, это будет {prefix}/bin
. Если вы этого не видите, вам нужно добавить этот каталог в свой путь.
Еще одна распространенная проблема, с которой люди сталкиваются с разрешениями в местоположении по умолчанию. Это кажется маловероятным, поскольку вы упоминаете, что скрипты устанавливаются, но this link имеет больше информации на всякий случай.
Большое спасибо, это было очень полезно! Однако я использовал аналогичный подход: 1. запустите команду редактирования npm config edit 2. просмотрите файл и удалите строку с надписью «prefix = ~/.npm-packages» Я удалил префикс sudo – VickenCode
перезапустить терминал. – migg
Как? Если вы имеете в виду выход и вернуться, то я, естественно, не знаю, как это исправить? – VickenCode
Возможный дубликат [BrowserSync: команда не найдена после установки браузера-синхронизации] (http://stackoverflow.com/questions/35500178/browsersync-command-not-found-after-installing-browser-sync) – bolav