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

按以下两个键:Windows + r 输入控件/名称microsoft。系统进入运行对话框,该对话框从上一步出现。

在窗口窗格的左侧选择“Advanced System Settings” 在出现的系统属性框中单击高级选项卡,然后单击环境变量按钮。 编辑PATH User环境变量。 在为PATH变量弹出的编辑环境变量窗口上单击New,并在PATH环境变量的开头添加以下内容:%APPDATA%\npm(如下图所示)。

关闭命令提示符并重新打开它。

在windows中:

使用您的windows资源管理器,导航到您的流浪共享文件夹(我使用的是scotchbox),例如C:\scotchbox/public/gulpProject 在文件夹地址栏中输入cmd,按“Enter” 你的gulp安装npm安装吗

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

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

(Windows 10)我不喜欢路径答案。我使用node.js的choco包管理器。Gulp不会为我开火,除非它是:

全局安装npm i -g gulp和本地目录npm i——save-dev gulp 这个问题持续了不止一次,这是通过完全删除node.js并重新安装它来解决的。

我没有看到任何关于本地/全局和node.js删除/重新安装的评论。

简而言之:

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

其原因是:

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


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

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