找不到gulp命令-安装gulp后发生错误


223

我已经在全球和本地安装了gulp

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

当尝试运行gulp时我得到

'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)上运行有什么建议吗?


1
我没有在Windows上使用gulp,但是您尝试过npm install gulp --save-dev吗?
soenguy 2014年

2
@soenguy不会解决的
SteveLacy 2014年

@pedalpete我的答案解决了您的问题吗?如果是,请标记出来
SteveLacy 2015年

在完全删除node.js并重新安装/重新启动计算机之前,我一直遇到这个问题。我从节点插件中收到各种奇怪的错误。
LAdams87 '18

我最近遇到了这个问题:原来我唯一忘记的是将可执行gulp程序所在的文件夹添加到Windows%PATH%变量中。就我而言:%AppData%\Roaming\npm
AdrienW

Answers:


239

您忘记安装gulp-cli软件包:

npm install -g gulp-cli

然后,您可以从命令行运行命令“ gulp”。


是的,在更改注册后没有奏效之后,这才成功了:')
edencorbin,2016年

甚至没有将其包含在我们的工件中,因此无法安装它。
vapcguy

这解决了“通过我们的免费速成课程在2018年学习Bootstrap 4 Final”的问题。我会在那些可能有相同问题的其他人的教程中为该答案提供一个链接
Enrique Bruzual,

221

可以在以下问题中找到问题和答案:https : //stackoverflow.com/a/9588052/1041104

诸如gulp之类的npm模块未安装到该路径。在CMD中运行它们时找不到。

如果gulp已全局安装,则可以使用以下过程:

  1. 创建一个名为 NODE_PATH
  2. 将其设置为:%AppData%\npm\node_modules%AppData%\npm在Windows 8-10上
  3. 关闭CMD,然后重新打开以获取新的ENV变量

将节点路径添加到环境变量

运行npm lsnpm ls -g显示已安装它们,但CMD由于找不到它们the missing link


14
我认为重要的是要注意,但是,如果尚未在全球范围内安装gulp,则无法提供答案。%AppData%\ npm文件夹在初始安装时完全为空,并且如果仅在不使用-g的情况下将gulp安装在项目文件夹中,则不会将批处理文件放入\ npm \或将其文件放在\ npm \ node_modules中。因此,实际上,这两个答案都是必要的。
伊夫琳Lachance

8
我尝试了一下,但直到我意识到我的“ Path”环境变量名称是驼峰大小写而不是“ PATH”(大写)时,它仍然对我不起作用。我将“ Path”修改为“ PATH”,并将我的npm目录添加到开头(如@CIAODO的答案)。由于某种原因“%AppData%\ Roaming \ npm对我不起作用,因此我必须使用完整路径:“ C:\ Users \ [user.name] \ AppData \ Roaming \ npm;”。结合此答案它为我工作。
[R布里尔

%AppData%\ Roaming \ npm对我也不起作用,还必须使用完整路径:“ C:\ Users [user.name] \ AppData \ Roaming \ npm;”
user2345998 2015年

31
将%AppData%\ npm添加到PATH对我
有用

我试过了,但是没有用,但是当我重启电脑后,它就可以了。不知道发生了什么
lyhong '16

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添加到Path的前面,而不是Path的结尾。
HabibAdıbelli2014年

谢谢@CIAODO!我的道路有垃圾从以前的节点安装测试的目的,你的评论让我跟踪它down.` :)
爱德华

我想在更改了其他一些PATH变量后,它突然停止为我工作。您的第一个解决方案是唯一对我有用的解决方案。谢谢。
Martin Dawson

45
  1. 全局安装gulp。

    npm install -g gulp

  2. 在项目中本地安装gulp。

    npm install gulp

  3. 在package.json中添加以下行

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

  4. 喝一口

    npm run gulp

这对我有用。


完成第4步后,它没有为我运行-它什么也不做(至少可见),只是返回了另一个命令行提示符。如果我只是gulp在那之后做,那它就跑了。
vapcguy

辉煌。这是我依靠AppVeyor中的Gulp构建流程失败的解决方案。相反,我使用了类似的东西"package": "gulp build"
蜡笔画

32

我正在使用Windows 8.1。我有同样的问题。

我使用Node.js命令提示符安装了gulp

npm install -g gulp

然后转到Node.js命令提示符中所需的目录,然后尝试

gulp -v

如果未找到gulp本地版本,请退出当前的Node.js命令提示符,并在新的Node.js命令提示符中尝试上述命令

我尝试了@SteveLacy提到的NODE_PATH,但是命令提示符仍然无法检测到gulp命令


7
我不是拒绝投票的人,但我认为您的答案不能解决(或试图解决)问题。
Edu Ruiz 2015年

1
不起作用,OP提到已经尝试过。我遇到了相同的问题,尝试过它并不能解决问题。
SCBuergel.eth

它提供答案吗?好吧,它解决了我的问题!非常感谢
RadimKöhler'15

甚至没有答案。首先是这个问题。
维克

这是对我有用的解决方案。愤世嫉俗的人看什么都不顺眼。
TombMedia

27

遇到同样的问题,不是真正的最佳解决方案,而是在全局安装:

npm install -g gulp

当然,最好还是保留它package.json,因此您可以执行以下操作以将其本地安装并添加到package.json

npm install --save-dev gulp

其他所有内容(gulp插件)也都在本地安装。


19

简单的解决方案就可以了 npm link gulp


6
这到底是怎么回事?

17

尝试使gulp在同事VM上工作时遇到相同的问题。看来问题出在users文件夹。

在我的环境变量中添加NODE_PATH不能解决问题。

如果您在系统变量中编辑'Path'变量并在其末尾添加'%APPDATA%\ npm',则应该可以解决问题...除非您或其他人npm将gulp安装为另一个用户,而不是您当前以的身份登录。

如果希望所有用户都可以使用它,请显式放置“ C:\ Users \ yourUser \ AppData \ Roaming \ npm”(或任何有吞咽的地方),而不要使用“%APPDATA%\ npm”。您也可以将文件移动到用户无关的路径。

不要忘记启动一个新的cmd提示符,因为您打开的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

我认为这里的说明很好,当您gulp' is not recognized在窗户上看时应该尝试的第一件事
Edu Ruiz

最主要的是";"在末尾添加。否则它将无法正常工作
热熔器'18

13

您应该首先gulp使用以下命令以全局方式安装:

npm install gulp -g

否则,路径解决方案将无法解决问题。

然后使用以下命令将npm modules路径添加到PATH:

PATH = %PATH%;%APPDATA%\npm

您添加的信息是否与其他33个答案所提供的新信息明显不同?我的印象是“否”,在这种情况下,您可能不应该添加答案。
乔纳森·莱夫勒

1
我已经尝试了许多尝试,但都没有成功,并且我发现需要
全局安装gulp,

12

就我而言,是我必须通过命令安装gulp-cli npm -g install gulp-cli


9

尝试将以下内容添加到您的PATH变量中:

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

我遇到了同样的问题,并且解决了将路径添加到节点模块的问题。


8

我在Windows 10中进行设置时遇到了类似的问题。我的答案是Windows特定的(请查看针对Linux或OSX解决方案修改bash路径的答案)

我的核心问题是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

1
是!!!最后!我到处都在寻找帮助。几乎所有答案都表明要在全球范围内安装它,并且应该可以工作。我已经安装,卸载,重新安装,清除缓存等。最后,这可行。谢谢!
乔什(Josh)

@Josh,很高兴我可以让您跑步。设置环境是绝对的。我想我之所以切换到Mac,主要是因为使用Windows Shell时有这些小问题。
ThinkBonobo,2016年

最糟糕的是,我已经设置了几个月。运行良好。然后,我正在编程,有一天我的命令无法识别。我在互联网上搜索任何有帮助的内容。每个人都说同样的话。然后,您和BAM一起来!有用。我知道您为什么要切换到OSX。我以前从未在OSX上经历过这种怪癖。但是我也非常致力于Windows。
乔什

1
我相信Windows 10正在采用本机bash shell,这对您很有利。使用其中一些工具应该会使生活变得更加轻松。
ThinkBonobo,2016年

在Windows Server 2008中为我工作,非常感谢!
manix

6

这最终成为我的“用户”问题。我已经在以user1身份登录的系统上安装了npm和node,然后设置了user2。我可以运行节点,也可以运行npm commnds,但不能从命令行运行任何npm软件包。

我卸载了node和npm,并在正确的用户下重新安装,以解决问题。之后,我可以从命令行运行程序包而不会出现问题。


对我来说一样,其他答案不起作用-重新安装node,npm完成了工作
mfeineis 2015年

6

最佳答案对我不起作用。

我正在使用以前拥有者的虚拟机。先前的所有者安装了旧版本的npm。使用该工具,我使用全局安装了gulp 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

这为我解决了问题。


2
我建议使用nvm切换节点版本:github.com/creationix/nvm
anztenney

@ chrisyo8989-太棒了..这对我来说没有环境变量,谢谢!我讨厌把这些弄糟!
gcoleman0828年

4

我在Win7 x64上有Nodejs v0.12.3,在尝试安装gulp时遇到了类似的问题。这为我工作:

  1. 卸载的Nodejs
  2. 已安装的Nodejs v0.10.29
  3. npm install -g npm
  4. npm install -g gulp

1
我只是用npm install -g npmnpm 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中打开“高级系统设置”以编辑环境变量时,请查看用户环境PATH中是否已经存在user / AppData / Roaming / npm路径。如果是这样,则问题在于您的用户+系统路径太长,导致Windows忽略您的用户路径。修剪用户和/或系统路径字符串,并且gulp应该在安装后正常工作。

如果找不到可以从用户和系统路径中删除的内容,则将user / AppData / Roaming / npm路径添加到系统环境路径中,并将其称为hack。


1
我花了几个小时试图使gulp命令在Windows中运行,这终于对我有用。所以谢谢!
MyNotes 2013年

4

安装后我遇到了同样的问题。因此,我尝试cmd以提升的特权(admin)运行。

屏幕截图:

命令


CMD中的管理员模式为我做到了
Morten OC

我尝试了其他所有方法。但是,一旦我在管理员模式下运行命令提示符,它便对我有用。
MindGame '17

奇数-不需要管理员权限。这可能对某些人有用,但如果需要的话,还有其他错误(与Gulp无关)。
vapcguy

4

将此路径添加到您的环境变量PATH C:\ Users \ USERNAME \ AppData \ Roaming \ npm \


4

(Windows 10)我不喜欢路径答案。我将choco软件包管理器用于node.js。Gulp不会为我解雇,除非是:

  1. 全局安装npm i -g gulp 和本地目录 npm i --save-dev gulp

  2. 这个问题一直持续到此为止,此问题已通过完全删除node.js并重新安装来解决。

我没有看到有关本地/全局 node.js删除/重新安装的任何评论。


3

这是最常见的,因为未像其他人指出的那样在环境变量上找到它。这对我有用。

回声%PATH%

这将显示什么是PATH环境变量。如果没有node_modules,请执行以下操作以从您的APPDATA路径添加它。

PATH =%PATH%; %APPDATA%\ npm


那是这里唯一正确的答案。设置NODE_PATH变量并将其添加到PATH变量中,或将全局npm文件夹直接添加到PATH变量中。
DevAntoine

3

我已经从这个答案中得到一个条件(我不知道为什么)

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

也就是说,我的路径已经包含 %APPDATA%\npm

就我而言,问题是npm没有在那里安装模块(再次,我不知道为什么)

因此,我需要这样做:

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

之后,运行 $ npm install -g gulp(或安装任何其他模块)将模块放在PATH期望的位置。


3

这对我有用:

 npm link gulp
 npm update

这就是在Windows 7上为我解决此问题的原因
Tom

3

在我的Windows 10企业版上,gulp未安装在%AppData%中,该机器是我计算机上的C:\ Users \ 用户名 \ AppData \ npm \ node_modules,但安装在C:\ Users \ 用户名 \ AppData \ Local \ npm \ node_modules中。

为了使gulp在命令提示符下或在Powershell中被拾取,我向用户PATH添加了值C:\ Users \ username \ AppData \ Local \ npm。之后,它就像一个魅力。自然,我必须关闭命令提示符或Powershell窗口,然后重新打开才能使上面的命令生效。


2

如果在Windows 10中没有gulp命令发现问题,并且对我不起作用,则无法添加“%AppData%\ npm \ node_modules”。请执行以下步骤:

做完之后

npm install -g npm

npm install -g gulp

C:\Users\YourUsername\npm

到系统变量中的路径。

在所有解决方案都使我失败之后,它对我有用。



2

npm install gulp -g

如果您使用的是Windows,请将gulp的目录添加到PATH。

C:\Users\YOURNAME\AppData\Roaming\npm\node_modules\gulp


2

在Windows中:

  1. 使用Windows资源管理器,导航到您的无业游民的共享文件夹(顺便说一句,我正在使用scotchbox),例如 C:\scotchbox/public/gulpProject
  2. 在文件夹的地址栏中,键入cmd并按Enter
  3. 做你的gulp安装 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. 在弹出的环境变量编辑窗口中单击“ 新建”PATH然后将以下内容添加%APPDATA%\npmPATH环境变量的开头(如下图所示)。

设置环境变量

  1. 关闭命令提示符,然后重新打开。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.