我有一个项目的gulp版本。以前我们使用的是3.9.1版,我们正在进行暂时性的更新。
更新后,我已经解决了所有本地问题,并在另一台计算机上测试了该项目(也在那里更新了已安装的gulp)。
但是,我们的自动部署与我不同意。
签到后,我们的VSTS将执行以下步骤
但是,这会产生以下错误。
Working directory changed to D:\a\1\s\MVC
Using gulpfile D:\a\1\s\MVC\gulpfile.js
C:\NPM\Modules\node_modules\gulp\bin\gulp.js:129
gulpInst.start.apply(gulpInst, toRun);
^
TypeError: Cannot read property 'apply' of undefined
at C:\NPM\Modules\node_modules\gulp\bin\gulp.js:129:20
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickDomainCallback (internal/process/next_tick.js:218:9)
此错误似乎是由于gulp的cli版本过时引起的。但是我不知道如何使用VSTS进行更新。
具体问题
如何在VSTS中更新gulp cli
我已经做了什么?
经过一番检查,我发现所安装的npm版本非常旧(3.10.8)。我拖入了一个nodejs安装程序,它将更新到最新版本,并为我提供了最新版本的nodejs,还有一个更新的npm(5.6.0)版本,我已经在二手计算机上使用它来更新cli版本。但是我不知道如何在VSTS中做到这一点。
答案 0 :(得分:1)
似乎您正在使用Hosted Agent
,其安装的npm版本是3.10.8。您只需要在构建定义中添加“节点工具安装程序”任务并将其设置为使用“ 8.x”版本。它将安装8.x版本,其中包括npm 5.6.0。
答案 1 :(得分:0)
尝试通过NPM任务安装/更新gulp-cli:
顺便说一句,package.json中的软件包将安装在当前项目/文件夹中而不是全局中,您需要通过npm命令(package.json的scripts属性)调用gulp命令,以在当前项目/文件夹中使用软件包或指定直接路径(例如./node_modules/gulp/bin/gulp)
答案 2 :(得分:0)