安装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个回答

4

(Windows 10) 我不喜欢路径的答案。我使用 choco 包管理器安装 node.js。除非全局安装了 npm i -g gulp 和本地目录下安装了 npm i --save-dev gulp,否则 Gulp 就无法启动:

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

  2. 这个问题曾经持续存在,后来通过完全删除 node.js 并重新安装才得到解决。

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


3

这通常是因为像其他人指出的那样,它没有在环境变量中找到。以下是我使用的方法。

echo %PATH%

这将显示您的PATH环境变量中的内容。如果node_modules不在其中,则可以按照以下步骤从APPDATA路径添加它。

PATH = %PATH%; %APPDATA%\npm


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

3

我已经有了这个答案的一个条件(不知道为什么)

https://dev59.com/iWAg5IYBdhLWcg3wDHU3#27295145

也就是说,我的PATH已经包含了%APPDATA%\npm

而在我的情况下,问题是npm没有在那里安装模块(同样,我不知道为什么)

因此,我需要执行以下操作:

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

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


3
我通过将 C:\Users\[USER]\AppData\Roaming\npm 添加到 PATH 而不是 C:\Users\[USER]\AppData\Roaming\npm\node_modules 来解决了这个问题。

1
这个解决方案已经在2014年12月发布过了。 - Louis

3

在Windows中:

  1. 使用您的Windows资源管理器,导航到您的vagrant共享文件夹(我正在使用scotchbox),例如 C:\scotchbox/public/gulpProject
  2. 在文件夹的地址栏中键入 cmd 并按下 Enter
  3. 进行gulp安装 npm install

3
在我的Windows 10企业版系统上,gulp并未安装在%AppData%(即C:\Users\username\AppData\npm\node_modules),而是在C:\Users\username\AppData\Local\npm\node_modules。为了让命令提示符或PowerShell识别gulp命令,我将C:\Users\username\AppData\Local\npm添加到用户PATH变量中。这样做后,gulp就能正常使用了。当然,在执行以上操作后,我需要关闭再重新打开命令提示符或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

简而言之:

如果其他方法不起作用,您应该将%NODE_PATH%添加到系统变量Path中。

原因:

问题在于,命令提示符只能在Path系统变量下执行程序,而不是用户变量。如果您已经将NODE_PATH设置为用户变量,请将%NODE_PATH%添加到Path中。


我在这里提问,但由于意图不同而被标记为重复问题:(

NPM Windows doesn't execute program under the User Variable path [duplicate]


2
在Windows系统中:
  1. 按下Windows + r两个键。
  2. 在跳出的运行对话框中输入control /name microsoft.system

Windows run dialog box

  1. 从窗格左侧选择高级系统设置
  2. 在弹出的系统属性框中点击高级选项卡,然后点击环境变量按钮。
  3. 编辑用户环境变量PATH
  4. 在编辑环境变量窗口中点击新建按钮,并将%APPDATA%\npm添加到PATH环境变量的开头(如下图所示)。

Setting the environmental variable

关闭您的命令提示符,然后重新打开它。

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