我在全局和本地都安装了gulp

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

当我试图奔跑时,我得到了

“gulp”不能被识别为内部或外部命令、可操作程序或批处理文件。

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

我已经尝试运行节点gulpfile.js指向我的gulpfile,它运行没有错误,当然,它以require('gulp')开始。

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


当前回答

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

其他回答

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

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

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

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

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

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

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

现在“杯”。

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

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

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

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

运行npm ls和npm ls -g显示它们已经安装,但CMD无法找到它们,因为缺少链接。

在我的Windows 10企业版上,gulp没有安装在%AppData%中,即c:\ users \用户名\AppData\npm\node_modules,而是安装在c:\ users \用户名\AppData\ local \npm\node_modules中。

为了在命令提示符或powershell中提取gulp,我在用户PATH中添加了值C:\Users\username\AppData\Local\npm.从那以后,它就像魔法一样有效。当然,我必须关闭命令提示符或powershell窗口,并重新打开以上生效。

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

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

npm install -g gulp

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

gulp -v

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

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