找不到gulp命令 - 安装gulp后出错

时间:2014-06-04 01:23:07

标签: windows node.js gulp

我已经使用

在全局和本地安装了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)上工作的任何建议吗?

40 个答案:

答案 0 :(得分:211)

您忘了安装gulp-cli包:

Reducer

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

答案 1 :(得分:205)

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

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

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

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

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

答案 2 :(得分:78)

  1. 请确保您已经gulp和gulp.cmd (使用Windows搜索)
  2. 复制gulp.cmd C:\Users\XXXX\AppData\Roaming\npm)的路径
  3. 将此路径添加到路径环境变量编辑PATH环境变量并添加%APPDATA%\npm
  4. 重新打开cmd。
  5. %APPDATA%\npm添加到路径的前面,而不是路径的末尾。

答案 3 :(得分:43)

  1. 全局安装gulp。

    npm install -g gulp

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

    npm install gulp

  3. 在package.json

    中添加以下行

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

  4. 运行gulp。

    npm run gulp

  5. 这对我有用。

答案 4 :(得分:33)

我使用的是Windows 8.1。我遇到了同样的问题。

我使用Node.js命令提示符

安装了gulp
npm install -g gulp

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

gulp -v

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

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

答案 5 :(得分:24)

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

npm install -g gulp

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

npm install --save-dev gulp

其他一切(gulp插件)也在本地安装。

答案 6 :(得分:16)

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

答案 7 :(得分:15)

当我试图让gulp在同事VM上工作时,我遇到了同样的问题。似乎问题源于用户文件夹。

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

如果你编辑了你的路径'系统变量中的变量并添加'%APPDATA%\ npm'最后,它应该解决问题...除非你或其他人npm安装gulp作为另一个用户而不是你当前登录的用户。

如果您希望所有用户都可以使用它,请明确地放置' C:\ Users \ yourUser \ AppData \ Roaming \ npm'(或者您曾经有过gulp),而不是使用' %APPDATA%\ NPM&#39 ;.您还可以将文件移动到更加用户无关的路径。

不要忘记启动新的cmd提示,因为您打开的提示无法获得新的'路径'自动变量。

现在' gulp'。

答案 8 :(得分:14)

一种正确的方式:

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

答案 9 :(得分:11)

您应首先使用以下方式安装gulp全球:

npm install gulp -g

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

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

PATH = %PATH%;%APPDATA%\npm

答案 10 :(得分:9)

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

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

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

答案 11 :(得分: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

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

using regedit

最后,只需测试一下

>npm install -g gulp
>gulp

答案 12 :(得分:6)

这最终成为了一名用户'我的问题。我在系统上安装了npm和node作为user1登录,然后我设置了user2。我可以运行node,我可以运行npm commnds,但是无法从命令行运行任何npm包。

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

答案 13 :(得分:6)

最佳答案对我不起作用。

我正在使用拥有前任所有者的虚拟机。之前的所有者安装了旧版本的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
  4. 这解决了我的问题。

答案 14 :(得分:4)

安装后我遇到了同样的问题。所以我尝试使用提升的权限(管理员)运行cmd并且它有效。

截屏:

cmd

答案 15 :(得分:4)

在环境变量路径中添加此路径 C:\ Users \用户名\应用程序数据\漫游\ NPM \

答案 16 :(得分:4)

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

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

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

请参阅:https://stackoverflow.com/a/21270921/301152

因此,当您在Windows中打开“高级系统设置”以编辑环境变量时,请查看用户/ AppData / Roaming / npm路径是否已存在于您的用户环境PATH中。如果是,那么问题是您的用户+系统路径太长,导致Windows忽略您的用户路径。修剪用户和/或系统路径字符串,gulp应该按安装的方式工作。

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

答案 17 :(得分: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

答案 18 :(得分:3)

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

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

也就是说,我的PATH已包含let piece = pieces.filter { $0.hashValue == 25 }[0]

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

因此我需要这样做:

%APPDATA%\npm

之后,跑步 $ npm config set prefix -g %APPDATA%/npm(或安装任何其他模块)将模块放在PATH期望的位置。

答案 19 :(得分:3)

这对我有用:

 npm link gulp
 npm update

答案 20 :(得分:3)

在我的Windows 10企业版上,gulp未安装在我的计算机上的%AppData%中,即C:\ Users \ 用户名 \ AppData \ npm \ node_modules,但在C:\ Users \ 用户名的\应用程序数据\本地\ NPM \ node_modules。

为了在命令提示符或powershell中获取gulp,我向用户PATH添加了值 C:\ Users \ username \ AppData \ Local \ npm 。之后,它就像一个魅力。当然,我必须关闭命令提示符或powershell窗口并重新打开以使上述操作生效。

答案 21 :(得分:3)

这是最常见的,因为在其他人指出的环境变量中找不到它。这对我有用。

  

echo%PATH%

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

  

PATH =%PATH%; %APPDATA%\ npm

答案 22 :(得分:3)

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

进行gulp-cli

答案 23 :(得分:2)

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

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

  2. 问题一直持续到这一次,这是由完全删除node.js并重新安装而修复的。

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

答案 24 :(得分:2)

简而言之:

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

原因:

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

我在这里问了一下,并且对于一个有不同意图的问题得到了重复标记:(

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

答案 25 :(得分:2)

在Windows中:

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

答案 26 :(得分:2)

我通过添加来解决它 C:\Users\[USER]\AppData\Roaming\npmPATH 并不是 C:\Users\[USER]\AppData\Roaming\npm\node_modules

答案 27 :(得分:1)

在Windows中:

  1. 按以下两个键: Windows + r
  2. 在上一步显示的运行对话框中键入bin_pos
  3. Windows run dialog box

    1. 从窗格左侧选择高级系统设置
    2. 点击系统属性框中的高级标签,然后点击环境变量按钮。
    3. 修改 control /name microsoft.system用户环境变量。
    4. 点击弹出PATH变量的编辑环境变量窗口中的新建,并将以下内容添加到PATH环境的%APPDATA%\npm开头变量(如下图所示)。
    5. Setting the environmental variable

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

答案 28 :(得分:1)

  1. 当您安装gulp global时,您需要转到

    C:\的NodeJS \ node_modules \ NPM \ NPM

  2. 你做了

    SHIFT +右键单击

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

  4. 从该cmd窗口运行gulp

答案 29 :(得分:1)

就我而言,列出的方法都没有奏效。我终于下载了Rapid Environment Editor(第8版)。

它表明我对用户环境变量的添加不存在。当我用REE添加它们时,一切都立即起作用。

(运行Windows 8.1)

答案 30 :(得分:1)

如果您需要按照gulpjs.com网站上的说明安装全局版本gulp但仍有问题,则可能需要清理npm的缓存。例如,如果您之前安装了gulp并设法将其意外吹走,则可能无法再次正确安装,因为它正在寻找不再存在的目录。在这种情况下,运行:

sudo npm cache clean

然后像往常一样安装gulp。

答案 31 :(得分:1)

导航到cmd中安装节点模块的位置,直到.bin文件夹,然后运行gulp。即路径\ node_modules.bin&GT;&GT;咽
这对我很有帮助。我的路径是C:\ wamp \ www \ wyntonv2 \ node_modules.bin

答案 32 :(得分:1)

如果您 Windows gulp 无法识别作为内部或外部命令,可运行的程序或批处理文件<强>尝试改为运行 gulp.js

我正在开展一个laravel项目,并在本地运行gulp。还可以使用 Windows命令提示符之外的其他内容,因为gulp.js 可能会出现错误。我正在使用 Git bash ,而且效果很好。

答案 33 :(得分:1)

我遇到了这个问题。我通过在路径环境变量中添加%APPDATA%/ npm来解决此问题。我没有定义NODE_PATH变量,但仍然对我有用。希望这对其他人有用!

答案 34 :(得分:0)

除了对我没有任何帮助

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

更多详细信息:PowerShell says "execution of scripts is disabled on this system."

答案 35 :(得分:0)

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

然后运行此命令

Set-ExecutionPolicy Unrestricted

小心使用

答案 36 :(得分:0)

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

问题环境:-

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

解决方案:-

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

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

希望对大家有所帮助。

答案 37 :(得分:-1)

所以我还没有看到这个答案,NODE_PATH和所有其他所谓的环境变量修复都没有做任何事情,所以我想我会加入我的蛮力方式来获得这个工作:

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

npm install -g minimatch(回车)

npm install -g graceful-fs(回车)

我看到的时候npm install -g gulp再一次(虽然它未能运行),但它却把它放进去了 的 C:\用户\ MYNAME \应用程序数据\漫游\ 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"
 }

然后我复制了gulp文件夹 的 C:\用户\ MYNAME \应用程序数据\漫游\ NPM \ node_modules \吞 C:\ Users \ myname \ Documents \ Visual Studio 2015 \ Projects \ myproject \ node_modules \ gulp

之后它运作良好。

答案 38 :(得分:-2)

这些答案都没有对我有用。因为我的问题是gulp命令被Antivirus阻止。我已成功地在全球和本地安装了Gulp。我是卡巴斯基的防病毒软件,一旦我在防病毒防火墙中使用了它,就像魅力一样。

答案 39 :(得分:-2)

  1. npm install -g gulp
  2. 在Windows中添加环境变量: enter image description here