Подтвердить что ты не робот

Грунт установлен, но не работает - "Команда не найдена" на Mavericks

Я пытаюсь использовать 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, потому что это проблема.

Любые указатели в правильном направлении будут высоко оценены.

Приветствия

4b9b3361

Ответ 1

У вас есть опечатка в вашей команде. Пакет называется grunt-cli без пробела.

Обновите команду до:

sudo npm install -g grunt-cli

И все должно работать как ожидалось.

Ответ 2

Надеюсь, что это решение также может быть полезно кому-то. В моем случае это было немного сложнее.

В командной строке введите следующую команду

 npm install grunt-cli -g

Это покажет вам, где установлен клиент grun: Скопируйте это местоположение и вставьте его в браузер файлов. Это было в моем случае.

 C:\Users\zkhaymed\AppData\Roaming\npm\node_modules\grunt-cli\bin

Это откроет вам местоположение файла grunt. Нажмите на адресную строку местоположения и скопируйте его как текст, щелкнув правой кнопкой мыши. Теперь перейдите к дополнительным свойствам системы на панели управления и вставьте этот адрес в переменные системы и пользовательские переменные, не удаляя другие переменные.

Ответ 3

Мне пришлось добавить это в PATH (на Mac после brew install node):

export NPM_HOME=/usr/local/Cellar/node/6.3.1/libexec/npm

npm install не был эффективным, независимо от того, какие аргументы я передал ему.

Ответ 4

У меня была очень похожая проблема, надеюсь, это помогает.

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 установлен для каждого проекта.

Надеюсь, это поможет!