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

ped*_*ete 212 windows node.js gulp

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

npm install gulp
npm install gulp -g
npm install gulp-util
npm install gulp-util -g
Run Code Online (Sandbox Code Playgroud)

当我尝试运行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)?

小智 227

你忘了安装gulp-cli包:

npm install -g gulp-cli
Run Code Online (Sandbox Code Playgroud)

然后,您可以从命令行运行命令"gulp".


Ste*_*acy 216

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

npm模块(如gulp)未安装到路径中.因此,当您在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.

  • 将%AppData%\npm添加到PATH为我工作(Windows 10) (27认同)
  • 但是,我认为重要的是要注意,如果未在全球范围内安装gulp,则提供的答案不起作用.%AppData%\npm文件夹在初始安装时完全为空,如果只在不使用-g的情况下在项目文件夹中安装gulp,它不会将批处理文件放在\npm \或其文件中\npm \node_modules中.所以实际上这里的答案是必要的. (14认同)
  • 我试过这个并且它仍然不适合我,直到我意识到我的"路径"环境变量名称是在驼峰情况下而不是"PATH"(大写).我将"Path"修改为"PATH"并将我的npm目录添加到开头,就像在@CIAODO的回答中一样.出于某种原因"%AppData%\ Roaming \npm对我不起作用,所以我不得不使用完整路径:"C:\ Users \\ [user.name]\AppData\Roaming \npm;".结合这个回答它对我有用. (7认同)

Hab*_*lli 84

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

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

  • 将%APPDATA%\npm添加到Path的前面,而不是Path的末尾. (7认同)

小智 45

  1. 全局安装gulp.

    npm install -g gulp

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

    npm install gulp

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

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

  4. 跑了一口气.

    npm run gulp

这对我有用.


Sud*_* GP 32

我使用的是Windows 8.1.我有同样的问题.

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

npm install -g gulp
Run Code Online (Sandbox Code Playgroud)

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

gulp -v
Run Code Online (Sandbox Code Playgroud)

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

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

  • 我不是贬低者,但我认为你的答案不是解决(或试图解决)问题. (7认同)

Nam*_*mek 27

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

npm install -g gulp
Run Code Online (Sandbox Code Playgroud)

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

npm install --save-dev gulp
Run Code Online (Sandbox Code Playgroud)

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


小智 16

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

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

如果您在系统变量中编辑'Path'变量并在其末尾添加'%APPDATA%\npm',它应该解决问题...除非您或其他人npm安装gulp作为另一个用户而不是您'我目前登录为.

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

不要忘记启动新的cmd提示符,因为您打开的提示符不会自动获取新的"Path"变量.

现在'gulp'.


mio*_*amo 16

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

  • 这到底是怎么回事? (4认同)

yer*_*lin 15

一个正确的方法:

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


Bad*_*laj 12

您应首先安装gulp为全局使用:

npm install gulp -g
Run Code Online (Sandbox Code Playgroud)

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

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

PATH = %PATH%;%APPDATA%\npm
Run Code Online (Sandbox Code Playgroud)


小智 9

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

C:\Users\YOUR_USER\AppData\Roaming\npm
Run Code Online (Sandbox Code Playgroud)

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


Thi*_*obo 8

我在Windows 10中设置了类似的问题.我的答案是特定于Windows的(查看bash中针对linux或OSX解决方案修改路径的答案)

我遇到的核心问题是npm的文件夹没有在路径中注册.我最初尝试在cmd提示符下更改此项.

setx path "%path%;%appdata$\npm"
Run Code Online (Sandbox Code Playgroud)

请注意,我使用setx而不是set来确保保留对环境变量的更新.另请注意,这是一个反斜杠.

这应该可以,但对我来说它不是因为setx只有接受1024个字符的限制......(是的,它对我来说也是荒谬的).

所以试试上面的内容,如果你收到类似于达到1024限制的警告,那么你可以采取我最终做的另一种方式.

首先,当您仍然在控制台中时,键入:echo %appdata%\npm...这是您要添加到路径的npm文件夹,因此将其添加到剪贴板.

您必须进入注册表并访问以下文件夹:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

然后在剪贴板中添加带有npm文件夹路径的"Path"值.重新启动以激活新值,您现在应该很高兴.

使用注册表

最后,只需测试一下

>npm install -g gulp
>gulp
Run Code Online (Sandbox Code Playgroud)


ped*_*ete 6

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

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


chr*_*989 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

这解决了我的问题.

  • 我建议使用nvm来切换节点版本:https://github.com/creationix/nvm (2认同)

Sky*_*n R 5

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