Ответ 1
У вас есть опечатка в вашей команде. Пакет называется grunt-cli
без пробела.
Обновите команду до:
sudo npm install -g grunt-cli
И все должно работать как ожидалось.
Я пытаюсь использовать grunt с sass и слежу за этими руководствами:
Я:
Intsalled node.js
Установлена версия командной строки командной строки: sudo npm install -g grunt -cli
Добавлен путь от установщика grunt к моему профилю bash: export PATH=/usr/local/lib/node_modules/grunt/bin:$PATH
Сделал профиль исполняемым: source ~/.bash_profile
Установить файлы package.json
и Gruntfile.js
в корневом каталоге проекта
Установленный grunt в проект: cd /path/to/project/root/
и sudo npm install
Но когда я пытаюсь запустить grunt
, я вижу: command not found
То же самое, если я запускаю: grunt --version
Я не был уверен, что путь bash нужен /bin в конце в соответствии с блоком, опубликованным выше, но попробовал это в обоих направлениях:
/usr/local/lib/node_modules/grunt/
и /usr/local/lib/node_modules/grunt/bin/
Я также запускал установщик grunt несколько раз, но не видел никаких ошибок, поэтому я уверен, что он установлен - может ли кто-нибудь увидеть, что я делаю неправильно? Я запускаю OSX mavericks, потому что это проблема.
Любые указатели в правильном направлении будут высоко оценены.
Приветствия
У вас есть опечатка в вашей команде. Пакет называется grunt-cli
без пробела.
Обновите команду до:
sudo npm install -g grunt-cli
И все должно работать как ожидалось.
Надеюсь, что это решение также может быть полезно кому-то. В моем случае это было немного сложнее.
В командной строке введите следующую команду
npm install grunt-cli -g
Это покажет вам, где установлен клиент grun: Скопируйте это местоположение и вставьте его в браузер файлов. Это было в моем случае.
C:\Users\zkhaymed\AppData\Roaming\npm\node_modules\grunt-cli\bin
Это откроет вам местоположение файла grunt. Нажмите на адресную строку местоположения и скопируйте его как текст, щелкнув правой кнопкой мыши. Теперь перейдите к дополнительным свойствам системы на панели управления и вставьте этот адрес в переменные системы и пользовательские переменные, не удаляя другие переменные.
Мне пришлось добавить это в PATH (на Mac после brew install node
):
export NPM_HOME=/usr/local/Cellar/node/6.3.1/libexec/npm
npm install
не был эффективным, независимо от того, какие аргументы я передал ему.
У меня была очень похожая проблема, надеюсь, это помогает.
1) Вы хотите проверить, где на самом деле установлены node и npm. Если вы использовали диспетчер пакетов, такой как Homebrew или MacPorts, может возникнуть проблема с местоположением. Просто используйте загружаемый установщик с node.js. Обязательно используйте текущую версию, а не долгосрочную поддержку (LTS). Установщик установит node и npm в /usr/local/bin, который уже должен находиться в вашем PATH. Если у вас уже установлено node/npm, вы можете использовать which node
и which npm
, чтобы узнать, где они находятся. Вы должны увидеть /usr/local/bin/node
и /usr/local/bin/npm
соответственно. После установки с помощью npm update -g npm
вам нужно будет обновить npm. Для этого может потребоваться sudo
.
2) Как только node и npm будут правильно установлены/обновлены, перейдите в корневой каталог проекта (где у вас есть Gruntfile.js и package.json) и установите Grunt с помощью npm install grunt --save-dev
. Помните, что Grunt После этого вы должны увидеть новую папку под названием node_modules.
3) Перед установкой CLI обязательно сделайте предыдущий шаг. Вы можете использовать Grunt, чтобы получить начальную документацию, чтобы помочь вам до конца. Просто имейте в виду, что инструкции по установке Grunt находятся ниже страницы, чем установка CLI, что делает ее несколько запутанной. Когда Grunt и Grunt-CLI установлены, запустите npm install
и запустите grunt
в командной строке, чтобы выполнить ваш Gruntfile.js.
Теперь вы сможете увидеть установленные версии. Обратите внимание: если вы находитесь вне корневого каталога проекта, вы не увидите версию Grunt, но вы увидите версию Grunt-CLI. Это связано с тем, что CLI был установлен глобально (используется из любого каталога/подкаталога), но Grunt установлен для каждого проекта.
Надеюсь, это поможет!