我在全局和本地都安装了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)上快速工作,有什么建议吗?


当前回答

我在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 \会话管理器\ \控制环境

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

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

>npm install -g gulp
>gulp

其他回答

NPM安装-g gulp 在windows中添加环境变量: 在这里输入图像描述

一个正确的方法:

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

问题和答案可以在这个问题中找到: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无法找到它们,因为缺少链接。

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

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

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

简而言之:

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

其原因是:

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


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

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