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