Gulp 在工作正常一年多后停止工作,现在在命令行中出现"The term 'gulp' is not recognized"错误



问题描述与这里回答的基本相同,但给出的解决方案对我不起作用。

我已经在这台机器上运行Gulp和XAMPP一年多了,在推出之前,我在本地开发了许多Wordpress网站。这个问题昨天毫无征兆地出现了,正在影响我在当地的所有项目。我之前没有更新任何我知道的东西,尽管我运行的是Windows 10,所以可能是我不知道的操作系统更新坏了。

PowerShell中错误的全文:

gulp:术语"gulp'"未被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。行:1字符:1+狼吞虎咽+~~~~+CategoryInfo:ObjectNotFound:(gulp:String([],CommandNotFoundException+FullyQualifiedErrorId:CommandNotFoundException `

有趣的是,cmd.exe给出了一个不同的错误,我根本无法理解:

AssertionError[ERR_ASSERTION]:必须指定任务函数在Gulp.set[as _setTask](C:\examplep\htdocs\domainname.com\node_modules\paunter\lib\set task.js:10:3(在Gulp.task(C:\examplep\htdocs\domainname.com\node_modules\paunter\lib\task.js:13:8(在对象处。(C:\examplep\htdocs\domainname.com\gullfile.js:37:6(在模块中_compile(internal/modules/cjs/loader.js:1158:30(在对象处。模块_扩展。。js(internal/modules/cjs/loader.js:1178:10(在Module.load(internal/modules/cjs/loader.js:1002:32(在Function。模块_加载(internal/modules/cjs/loader.js:901:14(在Module.require(internal/modules/cjs/loader.js:1044:19(at required(internal/modules/cjs/helpers.js:77:18(在执行时(C:\Users\username\AppData\Roaming\npm\node_modules\gulp\node_modeles\gulp-cli\lib\versioned\^4.0.0\index.js:36:18({generatedMessage:false,代码:"ERR_ASSERTION",实际:错误,预期:true,运算符:'==='}`

EDIT:在全局安装Gulp时,我收到了上述错误。在全局卸载它(仍然安装在该项目的本地(后,我得到了更预期的错误:

'ulp'未被识别为内部或外部命令,可操作程序或批处理文件

/END编辑

NPM命令不受影响,我尝试了各种卸载、重新安装和更新gump的组合,包括全局,但都无济于事。我尝试过更新node.js,但也没有效果。

虽然我已经使用Gulp/NPM/Node一段时间了,但我不是超级用户,我的命令行技能也很初级,所以在故障排除中可能遗漏了一些东西。所有的想法和可能性都将被感激地接受,因为由于这个问题,我处于一个有点绝望的境地,几乎无法做任何开发工作。

仍然不知道为什么或如何发生这种情况,但对于任何寻求相同答案的人来说,我通过先运行npm install gulp -g,然后运行npm install gulp-cli -g --force,使我的设置回到了正常工作状态。出于某种原因,有必要强制它,否则它就无法写入目录?YMMV。最后,我在本地卸载了Gulp,然后重新安装了它。完全不知道为什么这个步骤是必要的。

长话短说,本地/项目级别的Gulp停止工作,但全局Gulp(在Windows 10中安装到AppData/Roaming/等(工作正常,并且在本地正常运行时使用本地gulpfile。我不得不重写我的gulpfiles以使用新的任务格式,但目前除了浏览器同步外,一切都按预期进行,这是我的责任,对另一个问题很重要。

非常感谢Matt Oestreich在上面的评论中,他的帮助在解决这个问题方面是非常宝贵的。不过有一个修正,可以从PowerShell运行Gulp,这不是我问题的一部分。

相关内容

最新更新