grunt: команда не найдена при запуске с терминала

100

Я новичок в Grunt. Я пытаюсь настроить Grunt на Mac OSX Lion.

Я выполнил приведенные здесь инструкции, а затем создал папку проекта, содержащую файлы ниже. Когда я пытаюсь запустить, набирая "grunt" в терминал, я получаю command not found. Я также изменил свои пути sudo nano /etc/pathsв надежде, что добавление пути заставит запускать задачи, но он все еще не работает. Может кто-нибудь помочь с этим, пожалуйста?

---paths

/usr/bin 
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/local/bin/grunt


--- files
node modules
Gruntfile.js
package.json
user686483
источник
запустите эту команду из терминала и добавьте вывод к вашему вопросу: какой ворчание
Пол Аллен
Привет, Пол, я набрал команду и вообще не получил вывода.
user686483 01
возможный дубликат «команда не найдена» после установки
Синдре Сорхус 02
1
Dupe of stackoverflow.com/questions/10667381/… - отличный ответ.
Воздух

Ответы:

44

Я предполагаю, что вы использовали Brew для установки Node, поэтому руководство здесь может быть полезным http://madebyhoundstooth.com/blog/install-node-with-homebrew-on-os-x/ .

Вы должны убедиться, что npm / bin находится на вашем пути, как он описывает export PATH="/usr/local/share/npm/bin:$PATH". Это место, куда npm будет устанавливать заглушки bin для установленных пакетов.


Версия nano также будет работать, как описано здесь http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/, но может потребоваться перезапуск Терминала. требуется, чтобы выбрать новый путь.

Nschonni
источник
могу я добавить это с помощью sudo nano / etc / paths?
user686483 01
2
Похоже, это здесь architectureryan.com/2012/10/02/… но используйте, /usr/local/share/npm/binа не то, /usr/local/bin/gruntчто у вас есть в вопросе
nschonni 01
1
Я добавил путь с помощью sudo nano / etc / paths, но у меня все еще нет команд grunt / usr / local / share / npm / bin
user686483 01
как мне попасть в эту папку в терминале?
user686483 01
Мне удалось показать папку с помощью искателя. Моя папка npm находится в / Users / myusername.
user686483 01
499

Мое исправление этого на Mountain Lion было: -

npm install -g grunt-cli 

Видел это на http://gruntjs.com/getting-started

user2792249
источник
15
Работал над Mavericks.
Аарон Гринли,
8
Также на linux (Ubuntu / Elementary OS)
iConnor
4
Должно работать нормально (и, вероятно, лучше) без расширения sudo.
Matthew Shanley
2
@MatthewShanley sudoтребуется, если при установке npmне были установлены соответствующие разрешения для папки .
mostruash
3
Если вам нужно sudo, разрешения неверны, и вы будете сталкиваться с более серьезными проблемами при каждой установке. Всегда проверяйте, npmможете ли вы работать без него sudo.
Laurens Kling
12

Для окон

npm install -g grunt-cli

npm install load-grunt-tasks

Тогда беги

grunt

Мохит Сингх
источник
1
мне совсем не помогло
Dejell
1
Я использую Windows 10, и мне нужно было только запустить npm install -g grunt-cli
Дэн
6

Я долго искал, пытаясь решить эту проблему, и ни одно из предложенных обновлений для bash, похоже, не работало. Я обнаружил, что в какой-то момент мой корень npm был изменен так, что он указывал на Users/USER_NAME/.node/node_modulesто время, когда существовала фактическая установка npm /usr/local/lib/node_modules. Вы можете проверить это, запустив npm rootи npm root -g(для глобальной установки). Для исправления пути можно позвонить npm config set prefix /usr/local.

Буэно
источник
Я не могу синхронизировать два пути, используя предоставленное вами решение,
комивентор
6

Также на OS X (El Capitan) все утро возникала такая же проблема.

Я запускал команду «npm install -g grunt-cli» из каталога, в котором находился мой проект.

Я попробовал еще раз из своего домашнего каталога (т.е. «cd ~»), и он установился, как и раньше, за исключением того, что теперь я могу запустить команду grunt, и она распознается.

Mongo0se
источник
5

ключевым моментом является поиск правильного пути, по которому был установлен ваш grunt. Я установил grunt через npm, но мой путь grunt был /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/bin/grunt. Поэтому после того, как я добавил /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/binк ~/.bash_profile, и source ~/.bash_profileэто сработало.

Итак, шаги следующие:

1. find the path where your grunt was installed(when you installed grunt, it told you. if you don't remember, you can install it one more time)

2. vi ~/.bash_profile

3. export PATH=$PATH:/your/path/where/grunt/was/installed

4. source ~/.bash_profile

Вы можете сослаться на http://www.hongkiat.com/blog/grunt-command-not-found/

YJ. Ян
источник
Отличный ответ, работал у меня (Win7 x64). Это то, что я поместил в свой .bash_profile:export PATH=$PATH:/Users/<username>/AppData/Roaming/npm/node_modules/grunt-cli/bin/grunt
silver
Также проверьте ~/.npm-packages/lib/node_modules/grunt-cli/bin/grunt(OS X High Sierra)
kubilay