Gulp命令未找到-安装Gulp后错误

我在全局和本地都安装了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安装的位置。

我尝试运行指向我的gulpfile的node gulpfile.js,它运行时没有错误,当然,它从require('gulp')开始。

对于如何在Windows(8.1)上快速工作,有什么建议吗?

352436 次浏览

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

npm模块(如gulp)没有安装到该路径。因此,当您在CMD中运行它们时,不会发现它们。

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

  1. 创建名为NODE_PATH的环境变量
  2. 在windows 8-10上设置为:%AppData%\npm\node_modules%AppData%\npm
  3. 关闭CMD,并重新打开以获得新的ENV变量

Add Node path to environmental variables .

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

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

为了解决这个问题,我卸载了node和npm,并在正确的用户下重新安装。在此之后,我可以毫无问题地从命令行运行包。

有同样的问题,不是最好的解决方案,但在全球安装:

npm install -g gulp

当然,最好仍然在package.json中,所以你可以执行以下操作在本地安装它,并在package.json中添加一个条目:

npm install --save-dev gulp

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

我用的是Windows 8.1。我也有同样的问题。

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

npm install -g gulp

然后进入Node.js命令提示符中的所需目录并尝试

gulp -v

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

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

  1. 确保你有gulp和gulp.cmd (使用Windows搜索)
  2. 复制gulp.cmd (C:\Users\XXXX\AppData\Roaming\npm)的路径
  3. 将此路径添加到path环境变量 edit PATH环境变量中,并添加%APPDATA%\npm
  4. 重新打开cmd。

%APPDATA%\npm添加到Path的前面,而不是Path的末尾。

尝试在PATH变量中添加如下内容:

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

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

我在同事虚拟机上工作时也遇到了同样的问题。问题似乎源于用户文件夹。

在环境变量中添加NODE_PATH并没有解决这个问题。

如果你在你的系统变量中编辑你的“Path”变量,并在它的末尾添加“%APPDATA%\npm”,它应该可以解决这个问题…除非你或其他人npm以其他用户安装gulp,而不是你当前登录的用户。

如果你想让它对所有用户都可用,请将“C:\ users \yourUser\AppData\Roaming\npm”(或任何你有gulp的地方)显式放置,而不是使用“% AppData %\npm”。您还可以将文件移动到与用户无关的路径。

不要忘记启动一个新的cmd提示符,因为你已经打开的不会自动获得新的“Path”变量。

现在“杯”。

我在Win7 x64上安装了v0.12.3版本的Nodejs,在尝试安装gulp时遇到了类似的问题。这招对我很管用:

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

一个正确的方法:

  1. Cmd + R:输入“%appdata%”
  2. 进入npm文件夹
  3. 复制整个路径,如“C:\Users\Blah…\npm\”
  4. 转到我的电脑+右键单击“属性”
  5. 系统高级设置(左侧)
  6. 点击环境变量
  7. 点击编辑路径
  8. 加上“C:\Users\Blah…”“\npm\”到结尾,在后面输入“;”
  9. 单击“确定”并重新打开cmd

有gulp命令没有发现问题在windows 10和添加“%AppData%\npm\node_modules”不为我工作。

后做

npm install -g npm

npm install -g gulp

添加

C:\Users\YourUsername\npm

“系统变量”中的路径。

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

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

回声路径% %

这将显示PATH环境变量之一。如果node_modules不在那里,执行以下操作从APPDATA路径中添加它。

路径= %路径%;% APPDATA % \ npm

  1. 全局安装gulp。

    npm install -g gulp < / p >

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

    npm install gulp < / p >

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

    < p > <代码> "脚本":{ “吞咽”:“杯” 代码}< / > < / p > < /李>
  4. < p >运行吞咽。

    npm run gulp < / p >

这对我很管用。

导航到你安装节点模块的cmd .bin文件夹,然后运行gulp。即路径\ node_modules.bin > >口< br > 这对我来说非常有效。我的路径是C:\wamp\www\ wintonv2 \node_modules.bin

我通过添加来解决它 C:\Users\[USER]\AppData\Roaming\npmPATH 而不是 C:\Users\[USER]\AppData\Roaming\npm\node_modules < / p >

NodeJS安装程序会将用户/AppData/Roaming/npm路径添加到用户环境路径,这是合适的。

通常,命令行上的PATH环境变量是用户环境路径和系统环境路径的组合。

但是,如果用户环境路径+系统环境路径大于约1920个字符,Windows不会将用户路径和系统路径合并,只使用系统环境路径。

看:https://stackoverflow.com/a/21270921/301152

所以,当你打开Windows中的高级系统设置来编辑你的环境变量时,看看user/AppData/Roaming/npm路径是否已经在你的用户环境path中。如果是,那么问题是您的user +系统路径太长,导致Windows忽略您的用户路径。修改用户和/或系统路径字符串,gulp就可以正常工作了。

如果你找不到任何可以从你的用户和系统路径中删除的东西,那么就把user/AppData/Roaming/npm路径添加到系统环境路径中,并称之为hack。

如果你需要安装一个全局版本的gulp,如gulpjs.com网站所述,但仍然有问题,你可能需要清理npm的缓存。例如,如果您之前安装了gulp,并设法意外地将其删除,那么它可能无法再次正确安装,因为它正在寻找不再存在的目录。在这种情况下,运行:

Sudo NPM缓存清理

然后像往常一样安装gulp。

运行npm install gulp -g

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

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

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

https://stackoverflow.com/a/27295145/1175496 < a href = " https://stackoverflow.com/a/27295145/1175496 " > < / >

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

在我的情况下,问题是NPM没有在那里安装模块(再次,我不知道为什么)

因此我需要这样做:

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

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

在windows中:

  1. 使用您的windows资源管理器,导航到您的流浪共享文件夹(顺便说一下,我使用scotchbox)例如C:\scotchbox/public/gulpProject
  2. 在文件夹的地址栏中,输入cmd并按输入
  3. 你的gulp安装npm install

这对我来说很管用:

 npm link gulp
npm update

在我的案例中,列出的方法没有一种有效。我终于下载了快速环境编辑器(版本8)。

它表明我添加到用户环境变量的内容没有出现。当我把它们和REE加在一起时,一切都立刻起作用了。

(Windows 8.1)

简而言之:

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

其原因是:

关键是,命令提示符只执行Path系统变量下的程序,而不是用户变量下的程序。如果你将NODE_PATH设置为用户变量,将%NODE_PATH%添加到Path


我在这里问了一个问题,但因为一个不同的意图而被标记为重复:(

NPM Windows不执行用户变量路径下的程序[duplicate]

你忘记安装gulp-cli包:

npm install -g gulp-cli

然后可以在命令行中运行命令“gulp”。

  1. 当你安装了gulp global后,你需要转到

    C: \ nodejs \ node_modules \ npm \ npm < / p >

  2. 你知道了

    SHIFT +右键

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

  4. 在cmd窗口中运行gulp

我在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

然后在你的剪贴板中添加npm文件夹路径的“Path”值。重新启动以激活新值,现在应该可以运行了。

using regedit

最后,对所有内容进行测试

>npm install -g gulp
>gulp

在安装之后,我也遇到了同样的问题。所以我尝试运行cmd与提升的特权(管理),它工作。

屏幕截图:

cmd

在Windows中:

  1. 2 .按以下两个键:窗户 + r
  2. 在上一步出现的运行对话框中键入control /name microsoft.system

Windows运行对话框

  1. 从窗口窗格的左侧选择系统高级设置
  2. 在出现的系统属性框中单击先进的选项卡,然后单击环境变量按钮。
  3. 编辑 PATH用户环境变量。
  4. 在为PATH变量弹出的编辑环境变量窗口中单击,并将以下内容添加到PATH环境变量的开头(如下图所示)。

设置环境变量

  1. 关闭命令提示符并重新打开它。

上面的答案对我没用。

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

这为我解决了问题。

将此路径添加到环境变量path中 C:\Users\USERNAME\AppData\Roaming\npm\ < / p >

你应该首先安装gulp作为全局使用:

npm install gulp -g

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

然后将npm模块的路径添加到path中:

PATH = %PATH%;%APPDATA%\npm

简单的解决方法就是npm link gulp

所以我还没有看到这个答案,并且NODE_PATH和所有这些所谓的环境变量修复没有做任何事情,所以我想我应该添加我的蛮力方法来让它工作:

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

npm install -g minimatch(输入)

npm install -g graceful-fs(输入)

我看到当我做npm install -g gulp时,再次,尽管(并且它未能运行),它正在把它放进去 C:\Users\myname\AppData\Roaming\npm\ node_modules < / >强

所以,因为我正在运行gulp从命令行,是__abc1到我的项目文件夹: C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject

我怀疑它对另一个地方一无所知。还有我的包裹。Json没有:

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

相反,它有:

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

因此它无论如何都不能运行gulp,即使它已经安装到项目中。我想在这一点上,如果我运行start而不是gulp,它可能会工作,但我在"gulp"和另一行后面添加了一个逗号:

"scripts":{
"start": "gulp",
"gulp": "gulp"
}
然后我复制了gulp文件夹 C:\Users\myname\AppData\Roaming\npm\ node_modules \吞咽C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject\node_modules\gulp

在那之后它运行得很好。

所有给出的答案都对我不起作用。因为我的问题是gulp命令被反病毒阻止。我已经成功地在全球和本地安装了Gulp。我的是卡巴斯基反病毒,一旦我允许gulp在反病毒防火墙,它的工作就像一个魅力。

  1. NPM安装-g gulp
  2. 在windows中添加环境变量 李在这里输入图像描述 < / >

在我的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窗口,并重新打开以上生效。

(Windows 10)我不喜欢路径答案。我使用node.js的choco包管理器。Gulp不会为我开火,除非它是:

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

  2. 问题持续了超过这一次,这是通过完全删除node.js并重新安装它来解决的

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

在我的情况下,我必须安装 gulp-cli by command npm -g install gulp-cli

. txt

我遇到过这个问题。我通过添加%APPDATA%/npm到Path环境变量来解决这个问题。我没有定义NODE_PATH变量,它仍然为我工作。希望这对其他人也有用!!

对我来说什么都没用,除了

以管理员身份运行powershell并执行Set-ExecutionPolicy RemoteSigned

更多详细信息:PowerShell说“在这个系统上脚本的执行是禁用的。”

以管理员身份运行Power-shell。

然后执行以下命令

Set-ExecutionPolicy Unrestricted

慎用

上面的解决方案很棒,但在这里我想分享一个现有项目的解决方案,这个问题被报告了很多次,因为我们用它重新安装Gulp和所有。

发行环境:-

  • 当前操作系统:—Windows 10 x64位。
  • 使用Node v10.24.0以前版本的Gulp项目,现在不使用Node v14.15.0。

解决方案:

  • 第一个选项:-项目目录的节点版本从v14.15.0更改为v10.24.0,并且Gulp命令运行正常。

  • < p >第二个选项:-。重新安装节点v14.15.0当前版本的所有包和Gulp。

希望这对大家有所帮助。