我在全局和本地都安装了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)上快速工作,有什么建议吗?
我在同事虚拟机上工作时也遇到了同样的问题。问题似乎源于用户文件夹。
在环境变量中添加NODE_PATH并没有解决这个问题。
如果你在你的系统变量中编辑你的“Path”变量,并在它的末尾添加“%APPDATA%\npm”,它应该可以解决这个问题…除非你或其他人npm以其他用户安装gulp,而不是你当前登录的用户。
如果你想让它对所有用户都可用,请将“C:\ users \yourUser\AppData\Roaming\npm”(或任何你有gulp的地方)显式放置,而不是使用“% AppData %\npm”。您还可以将文件移动到与用户无关的路径。
不要忘记启动一个新的cmd提示符,因为你已经打开的不会自动获得新的“Path”变量。
现在“杯”。
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。