我在全局和本地都安装了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。
所以我还没有看到这个答案,NODE_PATH和所有其他所谓的环境变量修复没有做任何事情,所以我想我应该添加我的暴力方式来让它工作:
显然,你安装了最新的node.js,然后进行npm install。我还必须先升级一些依赖项(当我试图安装gulp时,得到了这些警告,在我运行这些命令之前,它告诉我它缺少popper.js依赖项Bootstrap 4所需的-即使它实际上在那个部门是ok的!):
npm install -g minimatch(输入)
npm install -g graceful-fs(输入)
我看到当我执行npm install -g gulp时,再次,尽管(并且它无法运行),它正在把它放进去
C:\Users\myname\AppData\Roaming\npm\ node_modules
因为我从命令行运行gulp,它被cd到我的项目文件夹中:
C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject
我怀疑它对另一个地方一无所知。还有我的包裹。Json没有:
"scripts":{
"gulp": "gulp"
}
相反,它有:
"scripts":{
"start": "gulp"
}
因此,即使已经安装到项目中,它也不能运行gulp。我想在这一点上,如果我运行start而不是gulp,它可能会工作,但我在“gulp”和另一行后面添加了一个逗号:
"scripts":{
"start": "gulp",
"gulp": "gulp"
}
然后复制gulp文件夹
C:\Users\myname\AppData\Roaming\npm\ node_modules \吞咽
来
C:\Users\myname\Documents\Visual Studio 2015\Projects\myproject\node_modules\gulp
在那之后它运行得很好。