安装gulp后出现“找不到gulp命令”的错误

251

我已经使用以下命令在全局和本地安装了 Gulp

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

当尝试运行gulp时,我遇到了以下问题:

'gulp'不是内部或外部命令,可操作的程序或批处理文件。

运行npm list gulp(或-g),我发现gulp@3.7.0与我的全局或本地gulp安装位置相对应。

我尝试运行node gulpfile.js指向我的gulp文件,它可以无错误运行,并且当然,它以require('gulp')开始。

有关在Windows(8.1)上使Gulp工作的任何建议吗?


1
我在Windows上没有使用gulp,但你尝试过 npm install gulp --save-dev 吗? - soenguy
2
@soenguy 那样做并不能解决它。 - SteveLacy
我最近遇到了这个问题:结果发现我唯一忘记的事情就是将可执行程序 gulp 所在的文件夹添加到 Windows 的 %PATH% 变量中。在我的情况下是:%AppData%\Roaming\npm - AdrienW
如果你在Windows上运行gulp时出现“gulp不是内部或外部命令,也不是可运行的程序或批处理文件”的错误提示,请尝试运行gulp.js。我正在开发一个Laravel项目,并在本地运行gulp。同时,建议使用其他命令提示符而非Windows自带的,因为你可能会遇到gulp.js的错误。我使用Git bash,它可以完美地工作。 - Peter Szalay
在我的电脑上,问题出在“允许运行脚本”的权限没有开启。参考来源:http://www.octetmalin.net/windows/scripts/powershell-activer-execution-des-scripts.php(法语)必须在管理员模式下的PowerShell中运行“set-executionpolicy unrestricted”来解决这个问题。 - Patrice Poliquin
显示剩余4条评论
41个回答

1

打开命令提示符,导航到安装node模块的路径中的 .bin 文件夹,然后运行 gulp 命令。例如:path\node_modules.bin>>gulp
这对我非常有效。我的路径是 C:\wamp\www\wyntonv2\node_modules.bin


1
在我的情况下,列出的方法都没有起作用。最终我下载了Rapid Environment Editor(版本8)。它显示我的用户环境变量的添加并不存在。当我使用REE添加它们后,一切立即正常运行。(运行Windows 8.1)

1
如果您需要安装全局版本的gulp,就像gulpjs.com网站上描述的那样,并且仍然遇到问题,则可能需要清除npm的缓存。例如,如果您以前安装了gulp并意外地将其删除,那么它可能无法再次正确安装,因为它正在寻找不再存在的目录。在这种情况下,请运行:
sudo npm cache clean
然后像平常一样安装gulp。

1

我遇到了这个问题,通过将%APPDATA%/npm添加到路径环境变量中来进行修复。我没有定义NODE_PATH变量,但它仍然对我起作用。希望这对其他人也有用!


0
  1. 当您全局安装了gulp后,需要前往

    C:\nodejs\node_modules\npm\npm

  2. 在该目录下执行

    SHIFT + 右键单击

  3. 选择“在此处打开命令提示符”

  4. 从该命令窗口运行gulp


0

以管理员身份运行PowerShell。

然后运行此命令。

Set-ExecutionPolicy Unrestricted

请谨慎使用


0
上述解决方案很棒,但我想分享一个现有项目的解决方案,这个问题由于报告了很多次,我们不得不重新安装Gulp。

问题环境:

  • 当前操作系统:Windows 10 x64位。
  • 使用先前版本的Node v10.24.0工作于Gulp项目中,现在无法使用Node v14.15.0。

解决方案:

  • 第一选项:将项目目录中的Node版本从v14.15.0更改为v10.24.0,然后Gulp命令可以正常运行。

  • 第二选项:重新安装所有包和当前版本的Node v14.15.0以及Gulp。

希望这对任何人都有所帮助。


0

-1

所以我还没有看到这个答案,那个NODE_PATH和所有这些所谓的环境变量修复都没有起作用,所以我想我会添加我的强制方式来使它工作:

显然,您需要安装最新的node.js并执行npm install。我还必须先升级一些依赖项(在尝试安装gulp时收到了这些警告,并且在运行这些命令之前,它告诉我缺少Bootstrap 4所需的popper.js依赖项 - 即使在那个部门实际上是好的!):

npm install -g minimatch(输入)

npm install -g graceful-fs(输入)

当我再次执行npm install -g gulp时,它仍然放在C:\Users\myname\AppData\Roaming\npm\node_modules中(并且无法运行)。

因此,因为我正在运行gulp从一个命令行,该命令行已经cd到我的项目文件夹中:

C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject

我怀疑它并不知道那个其他位置的情况。同时,我的 package.json 文件中也没有:

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

相反,它有:

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

所以即使已经安装到项目中,它也无法运行gulp。我猜在这个时候,如果我运行了start而不是gulp,它可能会起作用,但是我在"gulp"后面添加了一个逗号和另一行:

"scripts":{
    "start": "gulp",
    "gulp": "gulp"
 }

然后我从C:\Users\myname\AppData\Roaming\npm\node_modules\gulp复制了gulp文件夹到C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject\node_modules\gulp

之后它就正常工作了。


-1

对我来说,所有提供的解决方案都没有起作用。因为我的问题是Antivirus阻止了gulp命令。我已经成功地在全局和本地安装了Gulp。我的杀毒软件是Kaspersky,一旦我允许gulp通过杀毒软件防火墙,它就可以像魔术般地运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接