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


当前回答

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。

其他回答

上面的答案对我没用。

我正在使用的虚拟机有以前的所有者。以前的所有者安装了旧版本的npm。使用它,我用npm install -g gulp全局安装了gulp。运行gulp命令将返回“gulp”不能被识别为内部或外部命令、可操作的程序或批处理文件。正如我所说,最上面的答案并不能解决我的问题。我基本上必须重新安装nodejs。

解决方案

重新下载nodejs NPM安装-g gulp 杯- version

这为我解决了问题。

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。

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

安装gulp global后,需要转到 C: \ nodejs \ node_modules \ npm \ npm 就是这样 SHIFT +右键单击 选择“此处打开命令提示符” 在cmd窗口中运行gulp

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

npm install -g gulp

当然,最好还是保留它的包装。Json,所以你可以执行以下操作在本地安装它,并在package.json中添加一个条目:

npm install --save-dev gulp

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