2013-10-02 3 views
56

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

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

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

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

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

  • установлен хрюкать-кли глобально (НПМ инсталляцию -g хрюкать-кли), то хрюкать на уровне каталогов, я хочу использовать его (НПМ установить хрюкать)
  • То же самое, что и выше, но с порядком установки обратной
  • так же, как и вышеперечисленное, но с помощью администратора Command Prompt

Я пропускаю что-то очевидное?

+7

После 'npm install -g grunt-cli' введите' where grunt'. Какой результат? – WiredPrairie

+0

@WiredPrairie: INFO: Не удалось найти файлы для данного шаблона (ов). –

+1

Расположен ли 'grunt.cmd' в папке' AppData \ Roaming \ npm'? – WiredPrairie

ответ

34

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

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

+2

В настоящее время 64-разрядная версия NodeJS для Windows привинчивает PATH при установке. Я удалил 64-битную версию и вместо этого установил версию x86, и теперь все работает так, как ожидалось. – Junto

+9

На самом деле это не ПУТЬ, которая прикручена, это место, где оно установлено. Nodejs устанавливается в C: \ Program Files \ nodejs, но устанавливает все модули в C: \ Users \ Username \ AppData \ Roaming \ npm – Nico

+2

'C: \ Users \ Username \ AppData \ Roaming \ npm' снова исчез из PATH !!! и после того, как я добавил его снова, я добавил, что он был добавлен в него как «\ C: \ Users \ Username \ AppData \ Roaming \ npm' с дополнительной косой чертой в начале – ygaradon

61

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

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

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

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

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

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

+0

У меня есть файл grunt.cmd, а также каталог node_modules и файл с именем grunt типа FILE. Я пробовал с несколькими различными командами, как регулярными, так и административными. Я также попробовал установить что-то еще (экспресс), но получаю ту же проблему, поэтому я не думаю, что это проблема Grunt, а проблема npm. –

+0

Это не проблема с npm, так как она правильно хранит файлы в соответствии с тем, что вы предоставили. Windows не может найти файл. – WiredPrairie

+2

, если вы откроете командную строку в C: \ Users \ [имя_пользователя] \ AppData \ Roaming \ npm, а затем запустите grunt, это сработает? –

1

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

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

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

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

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

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

5

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

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

  • Перезагрузка компьютера
  • удалил папку черновую и побежал

НПМ установки -g хрюкать -cli

Не Работа.

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

НПМ установки -g хрюкать-Cli

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

Пробовал

где пехотинец

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

+2

Я потерял час своей жизни благодаря этому еще одному крану на пробел. Я бы снова проголосовал, если мог. – iandayman

4

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

Первое, что я проверил был путь в моих переменных лэптопы среды (Щелкните правой кнопкой мыши мой компьютер> Свойства> Дополнительные параметры системы> Переменные среды)

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

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

Variable Name: PATH 

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

Закройте командную строку, repoened, переходите к моим проектам каталог и попытался запустить grunt снова и ... УСПЕХ!

1

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

1

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

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

0

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

3

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

Я добавил «% APPDATA% \ НПМ» к переменной пути. Он отлично работает.

+1

плюс один для более гибкого решения - работает для нескольких пользователей –

Смежные вопросы