2015-02-12 3 views
1

npm знает, что хрюк установлен глобально, так почему же он не найден?grunt: команда не найдена

$ npm install -g grunt 
... installs ... 
$ npm list -g | grep grunt 
│ ├─┬ [email protected] 
│ ├─┬ [email protected] 
├─┬ [email protected] 
│ ├─┬ [email protected] 
│ ├── [email protected] 
$ grunt 
-bash: grunt: command not found 

Я предполагаю, что он помещен где-то, что не находится на моем ПУТЕ.

Почему npm просто не помещает его где-то, что находится на моем PATH по умолчанию, например /usr/local/bin?

ОБНОВЛЕНИЕ: странно, я получаю ту же ошибку grunt: command not found даже после того, как я сделал npm install grunt, чтобы запустить ее локально. Что я делаю не так? В моем репо есть Gruntfile.js.

+0

Oh эфа, это потому, что я не сделал 'НПМ установить -g черновую-cli'. – Richard

ответ

5

Пакет «grunt» - это сам вызов задачи, тогда как пакет «grunt-cli» - это интерфейс командной строки, который включает в себя исполняемый файл grunt. Вы можете убедиться, что он установлен на правильный путь.

Если вы делаете npm install grunt-cli, он все равно не будет работать, потому что он будет установлен в node_modules в соответствующем каталоге, который, скорее всего, не на вашем пути. Тем не менее, при использовании grunt из глобально установленного инструмента CLI будет искать установки ворчания, который является локальным для этого проекта, а также Gruntfile.js

, что вы должны сделать, это

  1. установить grunt-cli глобально:

    $ НПЕ установить хрюкать-кли -g

  2. установить grunt локальные в ваших зависимости (необязательно сохранять зависимость к ваш package.json):

    $ НПМ установить хрюкать --save

Смежные вопросы