команда gulp не найдена - ошибка после установки gulp

224

Я установил gulp как глобально, так и локально, используя

npm install gulp
npm install gulp -g
npm install gulp-util
npm install gulp-util -g

Когда пытаюсь запустить глоток, я получаю

'gulp' is not recognized as an internal or external command, operable program or batch file.

Запустив npm list gulp (или -g), я указываю gulp@3.7.0расположение моей глобальной или локальной установки gulp.

Я попытался запустить node gulpfile.jsуказатель на мой gulpfile, и он работает без ошибок, и, конечно, он начинается с require('gulp').

Любые предложения о том, чтобы заставить gulp работать на Windows (8.1)?

pedalpete
источник
1
Я не использую глоток на окнах, но вы пробовали npm install gulp --save-dev?
Soenguy
2
@ Soenguy, который не решит это
SteveLacy
@pedalpete мой ответ решил твой вопрос? Пожалуйста, отметьте это, если так
SteveLacy
У меня была эта проблема, пока я не удалил node.js ПОЛНОСТЬЮ и не переустановил / перезагрузил мой компьютер. Я получал всевозможные странные ошибки от моих плагинов для узлов.
LAdams87
Я недавно столкнулся с этой проблемой: оказывается, единственное, что я забыл, это добавить папку, в которой исполняемая gulpпрограмма находится в переменной Windows% PATH%. В моем случае:%AppData%\Roaming\npm
AdrienW

Ответы:

240

Вы забыли установить пакет gulp-cli:

npm install -g gulp-cli

Затем вы можете запустить команду «gulp» из командной строки.

csnate
источник
Да, после того, как смена регистра не сработала, это сработало: ')
edencorbin
Этот предмет даже не был включен в наш артефакт, чтобы захватить его, поэтому он не смог его установить.
vapcguy
Это устранило проблему в учебном пособии «Learn Bootstrap 4 Final в 2018 году с нашим бесплатным ускоренным курсом». Я добавлю ссылку на этот ответ в этом уроке для тех, у кого может быть такая же проблема
Энрике Брузуал
221

Вопрос и ответ можно найти в этом вопросе: https://stackoverflow.com/a/9588052/1041104

Модули npm, такие как gulp, не устанавливаются в путь. Таким образом не найдены при запуске их в CMD.

Если gulp был установлен глобально, вы можете использовать процесс ниже:

  1. Создайте переменную среды с именем NODE_PATH
  2. Установите это: %AppData%\npm\node_modulesили %AppData%\npmна окнах 8-10
  3. Закройте CMD и снова откройте, чтобы получить новые переменные ENV

Добавить путь узла к переменным среды

Запускается npm lsи npm ls -gпоказывает, что они установлены, но CMD не может их найти из-за the missing link.

SteveLacy
источник
14
Я думаю, что важно отметить, однако, что предоставленный ответ НЕ РАБОТАЕТ, если gulp не был установлен глобально. папка% AppData% \ npm полностью пуста при первоначальной установке, и если вы устанавливаете gulp только в папку проекта без использования -g, пакетный файл не помещается в \ npm \ или его файлы в \ npm \ node_modules. Так что в действительности ОБА ответы здесь необходимы.
Эвелин Лашанс
8
Я попробовал это, и это все еще не работало для меня, пока я не понял, что мое имя переменной среды "Path" было в верблюжьем регистре, а не "PATH" (в верхнем регистре). Я изменил «Путь» на «ПУТЬ» и добавил свой каталог npm в начало, как в ответе @CIAODO. По какой-то причине «% AppData% \ Roaming \ npm не работал для меня, поэтому мне пришлось использовать полный путь:« C: \ Users \ [user.name] \ AppData \ Roaming \ npm; ». В сочетании с этим ответом это сработало для меня.
Р Брилл
% AppData% \ Roaming \ npm у меня тоже не работал, также пришлось использовать полный путь: "C: \ Users [user.name] \ AppData \ Roaming \ npm;"
user2345998 25.11.15
31
добавление% AppData% \ npm в PATH работало для меня (Windows 10)
вне пределов
Я попробовал это, но это не сработало, но после перезагрузки компьютера все заработало. Не знаю, что случилось.
Lyhong
86
  1. Будьте уверены, что у вас есть глоток и gulp.cmd (используйте поиск Windows)
  2. Скопируйте путь gulp.cmd ( C:\Users\XXXX\AppData\Roaming\npm)
  3. Добавьте этот путь в переменную окружения Path или отредактируйте PATHпеременную среды и добавьте%APPDATA%\npm
  4. Вновь открыть cmd.

Добавьте %APPDATA%\npmк началу пути, а не к концу пути.

Хабиб Адыбелли
источник
7
Добавьте% APPDATA% \ npm в начало пути, а не в конец пути.
Хабиб Адыбелли,
Спасибо @CIAODO! Мой путь был дерьмом с более ранней установки узла для тестирования, и вы, как вы помните, помогли мне отследить его. :)
Эдвард
Я просто внезапно перестал работать, думаю, после того, как изменил некоторые другие переменные PATH. Ваше первое решение было единственным, которое сработало для меня. Спасибо.
Мартин Доусон
45
  1. Установите глоток глобально.

    npm install -g gulp

  2. Установите глоток локально в проекте.

    npm install gulp

  3. Добавьте строку ниже в ваш package.json

    "scripts": { "gulp": "gulp" }

  4. Запустите глоток.

    npm run gulp

Это сработало для меня.

Гаурав Гоэль
источник
После выполнения шага 4 он не запустился для меня - он просто вернул другое приглашение командной строки, ничего не сделав (по крайней мере, видимым). Если я сделал это сразу gulpпосле этого, то он побежал.
vapcguy
Brilliant. Это было решением моего неудачного процесса сборки, который основывался на Gulp в AppVeyor. Скорее я использовал что-то вроде "package": "gulp build".
Мелки
32

Я использую Windows 8.1. У меня такая же проблема.

Я установил gulp с помощью командной строки Node.js.

npm install -g gulp

Затем перейдите в нужный каталог в командной строке Node.js и попробуйте

gulp -v

Если вы получаете локальную версию gulp, не найденную, выйдите из текущей командной строки Node.js и попробуйте указанную выше команду в новой командной строке Node.js.

Я попробовал NODE_PATH, упомянутый @SteveLacy, но командная строка все еще не смогла обнаружить команду gulp

Сударсан Г.П.
источник
7
Я не downvoter, но я думаю, что ваш ответ не решает (или пытается решить) проблему.
Эду Руис,
1
не работает, OP упомянул, что это было опробовано. Я столкнулся с той же самой проблемой, попробовал это, и это не решает проблему.
SCBuergel.eth
Это дает ответ? Ну, это решило мою проблему! Большое спасибо
Радим Келер
В этом даже нет ответа. Это был вопрос в первую очередь.
Вик
Это решение, которое сработало для меня. Ненавистники пусть ненавидят.
TombMedia
27

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

npm install -g gulp

Конечно, лучше иметь его package.json, так что вы можете сделать следующее, чтобы установить его локально и добавить запись в package.json:

npm install --save-dev gulp

Все остальное (плагины gulp) устанавливаем также локально.

Namek
источник
20

Простое решение просто сделать npm link gulp

miojamo
источник
6
что это делает под капотом?
пол
Выглядит как символическая ссылка
Ави Паршан
17

У меня была та же проблема, когда я пытался заставить глотать работу на виртуальной машине сотрудников. Кажется, проблема связана с папкой пользователя.

Добавление NODE_PATH в мои переменные среды не решило проблему.

Если вы редактируете переменную 'Path' в системных переменных и добавляете '% APPDATA% \ npm' в конце этого, это должно решить проблему ... Если вы или кто-то еще npm не установили gulp от имени другого пользователя, кроме того, которого вы Вы вошли как.

Если вы хотите, чтобы он был доступен для всех пользователей, вместо '% APPDATA% \ npm' явно укажите 'C: \ Users \ yourUser \ AppData \ Roaming \ npm' (или везде, где у вас есть gulp). Вы также можете переместить файлы по более незаметному для пользователя пути.

Не забудьте запустить новое приглашение cmd, поскольку открытое вами окно не получит новую переменную Path автоматически.

Теперь глоток.

астронавт
источник
16

Один правильный путь:

  1. Cmd + R: введите "% appdata%"
  2. Перейти в папку npm
  3. Скопируйте весь путь как "C: \ Users \ Blah ... \ npm \"
  4. Зайдите в «Мой компьютер» + щелкните правой кнопкой мыши «Свойства»
  5. Расширенные настройки системы (слева)
  6. Нажмите на переменные среды
  7. Нажмите на Редактировать путь
  8. Добавьте это "C: \ Users \ Blah ... \ npm \" в конец и введите ";" после этого
  9. Нажмите ОК и снова откройте cmd
yeralin
источник
Я думаю, что здесь все хорошо объяснено, и это должно быть первое, что нужно попробовать, когда вы видите gulp' is not recognizedна окнах
Эду Руис,
главное добавить ";"в конце. иначе это не сработает
фьюзер
13

Сначала вы должны установить gulpкак глобальный, используя:

npm install gulp -g

В противном случае решение пути не решит проблему.

Затем добавьте путь модулей npm к PATH, используя:

PATH = %PATH%;%APPDATA%\npm
Бадр Беллай
источник
Является ли информация, которую вы добавили, новой и заметно отличается от того, что дают остальные 33 ответа? У меня сложилось впечатление «Нет», и в этом случае вам, вероятно, не следовало добавлять ответ.
Джонатан Леффлер
1
Я попробовал многие из них безуспешно, и я понял, что нужно установить gulp globaly, чтобы избежать такой же боли, как я, добавив этот ответ
Badr Bellaj
12

В моем случае это было то, что я должен был установить gulp-cli по команде npm -g install gulp-cli

Скайлин Р
источник
9

Попробуйте добавить в переменную PATH следующее:

C:\Users\YOUR_USER\AppData\Roaming\npm

У меня была та же проблема, и я решил добавить путь к модулям моего узла.

JC Gomez
источник
8

У меня была похожая проблема с настройкой в ​​Windows 10. Мой ответ зависит от Windows (посмотрите ответы по изменению пути в bash для решения Linux или OSX)

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

setx path "%path%;%appdata$\npm"

Обратите внимание, что я использовал setx вместо set, чтобы гарантировать, что обновление переменной среды останется. Также обратите внимание, что это обратный слеш.

Это должно сработать, но для меня это не сработало, потому что у setx есть ограничение на прием только 1024 символов ... (да, для меня это тоже бессмысленно).

Так что попробуйте вышеизложенное, и если вы получите предупреждение о достижении лимита 1024, как вы сделали, то вы можете поступить иначе, чем я в конечном итоге сделал.

Сначала, пока вы еще находитесь в консоли, введите: echo %appdata%\npm... это ваша папка npm, которую вы хотите добавить в путь, поэтому добавьте ее в буфер обмена.

Вы должны зайти в реестр и перейти к следующей папке:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Затем добавьте значение «Path» вместе с путем к папке npm в буфер обмена. Перезагрузитесь, чтобы активировать новое значение, и вы должны быть готовы к работе.

используя regedit

Наконец, просто проверьте все это

>npm install -g gulp
>gulp
ThinkBonobo
источник
1
Да!!! В заключение! Я искал во всем, чтобы помочь. Почти все ответы говорят, чтобы установить его глобально, и он должен работать. Я установил, удалил, переустановил, очистил кеш и т. Д. Наконец-то это сработало. Спасибо!
Джош
@ Джош, рад, что я смог тебя запустить. Настройка окружения - это просто. Я думаю, что я переключился на Mac, в основном из-за этих маленьких причуд при использовании оболочки Windows.
ThinkBonobo
Хуже всего то, что я настроил его на месяцы. Работает нормально. Затем я программирую один день, и мои команды не распознаются. Я ищу в Интернете все, что поможет. Все говорят одно и то же. Тогда вы приходите и БАМ! Оно работает. Я понимаю, почему вы бы переключиться на OSX. У меня никогда не было таких причуд с OSX. Но я слишком предан Windows.
Джош
1
в вашу пользу, я полагаю, что в windows 10 используется нативная оболочка bash. Должно сделать жизнь намного проще для некоторых из этих инструментов.
ThinkBonobo
Эта работа для меня в Windows Server 2008, большое спасибо!
Маникс
6

Это закончилось тем, что у меня возникла проблема с пользователем. Я установил npm и узел в системе, вошедший в систему как user1, затем я настроил user2. Я мог запустить узел, и я мог запустить npm commnds, но не смог запустить ни один пакет npm из командной строки.

Я удалил узел и npm и переустановил под правильным пользователем, чтобы решить проблему. После этого я могу запускать пакеты из командной строки без проблем.

pedalpete
источник
То же самое для меня, другие ответы не работали - переустановка node и npm сделали
свое дело
6

Верхний ответ не работал для меня.

Я использую виртуальную машину, у которой был предыдущий владелец. У предыдущего владельца была установлена ​​старая версия npm. Используя это, я был установлен глотком глобально с npm install -g gulp. Запуск команды gulpвернется 'gulp' is not recognized as an internal or external command, operable program or batch file.. Как я уже сказал, верхний ответ не решил мою проблему. Мне в основном пришлось переустановить nodejs.

Решение

  1. Повторно скачать nodejs
  2. npm install -g gulp
  3. gulp -version

Это решило проблему для меня.

christo8989
источник
2
Я рекомендую использовать nvm для переключения версий узлов: github.com/creationix/nvm
anztenney
@ chrisyo8989 - круто .. это сработало для меня без изменений в окружающей среде Спасибо! Я ненавижу возиться с этими!
gcoleman0828
4

У меня был v0.12.3 Nodejs на Win7 x64, и я столкнулся с похожими проблемами, когда попытался установить gulp. Это сработало для меня:

  1. Undestalled Nodejs
  2. Установленный Nodejs v0.10.29
  3. npm установить -g npm
  4. npm install -g gulp
kmxr
источник
1
Я использовал только npm install -g npmи npm install -g gulpвсе возвращается на круги своя
Эду Руис
Я рекомендую использовать nvm для переключения версий узлов: github.com/creationix/nvm
anztenney
4

Установщик NodeJS появляется, чтобы добавить путь user / AppData / Roaming / npm к подходящему пути среды пользователя.

Обычно переменная среды PATH в командной строке представляет собой комбинацию пути пользовательской среды и пути системной среды.

Однако, если путь к пользовательской среде + путь к системной среде превышает примерно 1920 символов, Windows не объединяет пути пользователя и системы - используется только путь к системной среде.

См .: https://stackoverflow.com/a/21270921/301152.

Итак, когда вы открываете Расширенные настройки системы в Windows для редактирования переменных среды, посмотрите, есть ли путь пользователя / AppData / Roaming / npm в вашей пользовательской среде PATH. Если это так, то проблема в том, что ваши пользовательские + системные пути слишком длинные, из-за чего Windows игнорирует ваш пользовательский путь. Обрежьте пользовательские и / или системные пути, и gulp должен работать как установлено.

Если вы не можете найти что-то, что могло бы уйти от ваших пользовательских и системных путей, то добавьте путь user / AppData / Roaming / npm к пути системной среды и назовите его взломанным.

dthorpe
источник
1
Я потратил часы, пытаясь заставить команду gulp работать в Windows, и это, наконец, сработало для меня. Так что спасибо тебе!
MyNotes
4

Я столкнулся с той же проблемой после установки. Поэтому я попытался запустить cmdс повышенными привилегиями (администратора), и это сработало.

Скриншот:

CMD

Амит Шарма
источник
Режим администратора в CMD сделал это для меня
Morten OC
Я попробовал все остальное. Но как только я запустил командную строку в режиме администратора, это сработало для меня.
MindGame
Странно - не должно требовать прав администратора. Это может работать для некоторых, но что-то еще не так (не относится к Gulp), если это требуется.
vapcguy
4

Добавьте этот путь в переменные среды PATH C: \ Users \ USERNAME \ AppData \ Roaming \ npm \

Kranti123
источник
4

(Windows 10) Мне не понравился путь ответов. Я использую менеджер пакетов choco для node.js. Глоток не уволит меня, если не будет

  1. Глобально установленный npm i -g gulp и локальный каталог npm i --save-dev gulp

  2. Проблема сохранялась и после этого, которая была устранена путем полного удаления node.js и переустановки.

Я не видел никаких комментариев по поводу удаления / переустановки local / global и node.js.

LAdams87
источник
3

Это чаще всего происходит потому, что его нет в переменных окружения, как указывали другие. Это то, что сработало для меня.

эхо% PATH%

Это покажет вам, что является одной из переменных среды PATH. Если нет node_modules, сделайте следующее, чтобы добавить его из вашего пути APPDATA.

PATH =% PATH%; % APPDATA% \ НПМ

эрудиты
источник
Это единственный правильный ответ здесь. Либо установите переменную NODE_PATH И добавьте ее в переменную PATH, либо напрямую добавьте глобальную папку npm в переменную PATH.
DevAntoine
3

У меня уже было одно условие из этого ответа (я не знаю почему)

https://stackoverflow.com/a/27295145/1175496

То есть мой PATH уже включен %APPDATA%\npm

В моем случае проблема была в том, что npm не устанавливал там модули (опять же, я не знаю почему)

Поэтому мне нужно было сделать это:

$ npm config set prefix -g %APPDATA%/npm

После этого, запустив $ npm install -g gulp(или установив любой другой модуль), поместите модуль в то место, где его ожидает PATH.

Красный горох
источник
3

Это работает для меня:

 npm link gulp
 npm update
Vineet
источник
Это было то, что исправило проблему для меня в Windows 7.
Том
3

На моем Windows 10 Enterprise, Глоток не был установлен в% AppData%, что C: \ Users \ имя пользователя \ AppData \ НПМ \ node_modules на моей машине, но в C: \ Users \ имя пользователя \ AppData \ Local \ НПМ \ node_modules.

Чтобы получить подсказку в командной строке или в PowerShell, я добавил пользователю PATH значение C: \ Users \ username \ AppData \ Local \ npm . После этого это сработало как шарм. Естественно, мне пришлось закрыть командную строку или окно powershell и заново открыть, чтобы вышеупомянутое вступило в силу.

Дэвид Скарфо
источник
2

Если бы команда gulp не нашла проблему в Windows 10, и добавление «% AppData% \ npm \ node_modules» не работает для меня. Сделайте эти шаги, пожалуйста:

После выполнения

npm install -g npm

И

npm install -g gulp

Добавить

C:\Users\YourUsername\npm

путь в системных переменных.

Это работает для меня после того, как все решения не удалось мне.

А. Наджафи
источник
2

Я решил, добавив C:\Users\[USER]\AppData\Roaming\npm к PATH и не C:\Users\[USER]\AppData\Roaming\npm\node_modules

Маркос Кассиано
источник
1
Это решение было опубликовано в декабре 2014 года .
Луи
2

Бегать npm install gulp -g

Если вы используете Windows, пожалуйста, добавьте каталог gulp в PATH.

такой как C:\Users\YOURNAME\AppData\Roaming\npm\node_modules\gulp

user5523785
источник
2

В окнах:

  1. С помощью проводника Windows перейдите в свою общую папку (я, кстати, использую scotchbox), например C:\scotchbox/public/gulpProject
  2. В адресной строке папки введите cmdи нажмитеEnter
  3. Сделай глоток npm install
Юстис Матотока
источник
2

Коротко:

Вы должны добавить %NODE_PATH%в системную переменную, Pathесли другие ответы не работают.

Причина:

Дело в том, что командная строка выполняет программы только под Pathсистемной переменной , а не под пользовательскими . Если вы NODE_PATHуказали в качестве пользовательской переменной, добавьте %NODE_PATH%в Path.


Я спросил здесь и получил помеченный дубликат для вопроса с другим намерением :(

NPM Windows не выполняет программу по пути к пользовательской переменной [дубликат]

Дэниел Чунг
источник
2

В Windows:

  1. Нажмите следующие две клавиши: Windows + r
  2. Введите control /name microsoft.systemв диалоговом окне выполнения, которое появляется из предыдущего шага.

Диалоговое окно запуска Windows

  1. Выберите « Дополнительные параметры системы» в левой части окна.
  2. Щелкните вкладку « Дополнительно » в появившемся окне свойств системы и нажмите кнопку « Переменные среды» .
  3. Изменение в PATHпеременной окружения пользователя.
  4. Нажмите New в окне редактирования переменной среды, которое всплывает для PATHпеременной, и добавьте следующее: %APPDATA%\npmв начало PATHпеременной среды (как показано на рисунке ниже).

Установка переменной среды

  1. Закройте командную строку и снова откройте ее.
JSON C11
источник