Grunt в Windows 8: "grunt" не распознается

У меня возникла проблема с запуском Grunt из командной строки на моей машине с Windows 8.

Мои исследования показывают, что наиболее распространенным решением является установка grunt-cli, поскольку Grunt больше не является глобальным. Мне также нужно убедиться, что я действительно устанавливаю Grunt task runner, так как это не установлено с grunt-cli.

Другие решения указывают на переменную системной среды PATH, но, похоже, она указана так, как я ожидал бы:

C:\Users [имя пользователя]\AppData\Roaming\НПМ

Сделав все это, я все еще получаю "ворчание", не распознается как сообщение об ошибке внутренней или внешней команды, оперативной программы или пакетного файла в CLI. Я пробовал следующие вещи, удаляя все после каждой попытки:

  • Установленный grunt-cli глобально (npm install -g grunt-cli), затем хрюкать на уровне каталога, который я хочу использовать (npm install grunt)
  • То же, что и выше, но с изменением порядка установки
  • То же, что и выше, но с помощью командной строки Admin

Я пропустил что-то очевидное?

Ответ 1

Подтвердите, что ваш PATH правильный (и не испорчен). Просто введите PATH из командной строки. Нет никакого другого объяснения, которое имеет смысл, учитывая описанную вами ошибку и шаги, которые вы предприняли.

Обычно, используя команду where grunt, вы нашли бы grunt.cmd в своем пути, если npm установлен правильно, и он был правильно добавлен в системный путь.

Ответ 2

У меня не было проблем с хрюканьем на нескольких машинах Windows 8.

Если вы откроете папку: C:\Users\[username]\AppData\Roaming\npm

У вас есть файл с именем grunt.cmd в этой папке?

Если нет, я бы попробовал npm install -g grunt-cli снова, возможно, из командной строки с повышенными правами.

Если это существует, и у вас есть C:\Users\[username]\AppData\Roaming\npm в вашей переменной среды PATH, тогда следует использовать команду grunt из командной строки.

Глупый вопрос: вы пытались закрыть командную строку и открыть новую?

Ответ 3

  • Закройте все экземпляры командной строки.
  • Запустите новый экземпляр командной строки.
  • Введите PATH Enter и проверьте, является ли C:\Users\Username\AppData\Roaming\npm частью пути.
  • Если нет, вам нужно снова и снова выйти из системы,
    или закрыть командную строку и перезапустить процесс explorer.
  • В командной строке введите where grunt Enter.
    Вы хорошо, если он сообщает:

    C:\Users\Username\AppData\Roaming\npm\grunt
    C:\Users\Username\AppData\Roaming\npm\grunt.cmd
    
  • В противном случае вам нужно переустановить пакет grunt-cli, если он сообщает:

    INFO: Could not find files for the given pattern(s).
    

По-видимому, программы, изменяющие переменную среды PATH, должны передавать сообщение WM_SETTINGCHANGE. Окно "Системные настройки Windows" делает это правильно при изменении переменной PATH, но установщик NPM этого не делает. Поэтому вам необходимо перезапустить проводник (или выйти из системы или перезапустить, что имеет тот же эффект).

Ответ 4

У меня была такая же проблема.

Я пробовал разные вещи:

  • Перезагрузите компьютер.
  • Удалена папка grunt и запущена

npm install -g grunt -cli

Не работает.

Наконец, попробовали:

npm install -g grunt-cli

Работал отлично.

Пробовал

где grunt

и я увидел 2 местоположения, где он был найден.

Ответ 5

Я знаю, что это ответ, но я подумал, что предлагаю свое пошаговое решение для Windows 8.

Первое, что я проверил, это PATH в моих ноутбуках. Переменные среды (щелкните правой кнопкой мыши мой компьютеp > свойствa > расширенные системные настройки > переменные среды)

Он не был указан там, поэтому я добавил новую переменную в переменные пользователя (так что это было специфично только для моей учетной записи пользователя)

В новом приглашении переменной пользователя я ввел следующее:

Variable Name: PATH

Variable Value: %USERPROFILE%\AppData\Roaming\npm

Закройте командную строку, перетащите ее, перейдите в каталог моих проектов и снова попробуйте запустить grunt и... SUCCESS!

Ответ 6

Я столкнулся с той же проблемой на окнах 8

Я добавил '% APPDATA%\npm' в переменную пути. Он отлично работает.

Ответ 7

несколько раз NPM-установка искажает основной путь к окну. У меня обычно есть копия моей собственной версии PATH отдельно. каждую неделю или на некоторых установках я вручную настраиваю и обновляю переменную% PATH%.

В основном Grunt.cmd не имеет доступ к переменной% PATH%.

Ответ 8

Я столкнулся с проблемой в Windows 8, после установки grunt-cli у меня всегда была команда "не найдена", пока я пытаюсь проверить grunt -v или where grunt. Поэтому я добавил в среду PATH этот путь C:\Program Files (x86)\Git\local и запустил grunt.cmd из этой папки (вам нужно посмотреть здесь в папке node_modules). И после перезагрузки моего терминала все начало работать.

Ответ 9

То же самое произошло со мной, и вот решение: У вас есть две разные версии Node.JS? Может быть, Нодист? Это означает, что вы, вероятно, дважды установили NPM, который установит команды в две разные папки: Раз в C:\Users\<user>\AppData\Roaming\npm и один раз в C:\dev\nodist\bin\bin.

C:\dev\nodist\bin\bin не был в моей переменной пути, поэтому я добавил его, и я удалил версию Node.JS, которую я не хотел использовать.

Ответ 10

Если у вас нет файла grunt.cmd, созданного npm, убедитесь, что у вас нет .npmrc в вашем домашнем каталоге с: bin-links=false в нем.

Ответ 11

Просто запустите:

npm install -g grunt-cli