我在全局和本地都安装了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。

其他回答

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

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

npm install -g gulp

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

gulp -v

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

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

你应该首先安装gulp作为全局使用:

npm install gulp -g

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

然后将npm模块的路径添加到path中:

PATH = %PATH%;%APPDATA%\npm

一定要大口大口地喝。CMD(使用Windows搜索) 复制gulp的路径。cmd (C: \ \ XXXX \ AppData \漫游用户\ npm) 将此路径添加到path环境变量或编辑path环境变量并添加%APPDATA%\npm 重新打开cmd。

添加%APPDATA%\npm到路径的前面,而不是路径的末尾。

对我来说什么都没用,除了

以管理员身份运行powershell,执行Set-ExecutionPolicy remotessigned。

更多细节:PowerShell说“在这个系统上脚本的执行是禁用的。”

这是最常见的,因为它不像其他人指出的那样在环境变量上找到。这对我来说很管用。

回声路径% %

这将显示PATH环境变量之一。如果node_modules不在那里,执行以下操作从APPDATA路径中添加它。

路径= %路径%;% APPDATA % \ npm