【问题标题】:VSTS with gulp v.4.0.0VSTS 与 gulp v.4.0.0
【发布时间】:2019-02-09 16:11:45
【问题描述】:

我正在使用我的一个项目的 gulp 版本。以前我们使用的是 3.9.1 版本,我们正在犹豫更新。

更新后我修复了所有本地问题并在另一台计算机上测试了项目(在更新安装的 gulp 之后)它工作正常。

但是我们的自动部署不同意我的看法。

签入后,我们的 VSTS 会执行以下步骤

  1. 安装 npm
  2. 执行命令
  3. 构建项目

但是,这会产生以下错误。

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 中执行此操作。

【问题讨论】:

  • 您的 package.json 要求的 gulp 版本是什么?我认为那是你的问题
  • package.json 要求“^4.0.0”
  • 如果您使用 package.json 脚本,您可以调用本地 gulp 或直接使用 ./node_modules/gulp/bin/gulp gulpfile.js 调用它,这样您就不用使用系统 CLI 并且可以将您已有的确切版本定义为 ^4.0.0
  • 同样的问题 :( 我可以在本地工作,但我不知道用什么命令来让它在 VSTS 中工作。我今天看一下,会让你知道我有没有发现

标签: node.js gulp azure-devops


【解决方案1】:

您使用的似乎是Hosted Agent,安装的npm版本是3.10.8。您只需要在构建定义中添加一个节点工具安装程序任务并将其设置为使用“8.x”版本。它将安装包含 npm 5.6.0 的 8.x 版本。

Node Tool Installer 任务之前的 npm 版本: Node Tool Installer 任务后的 npm 版本:

【讨论】:

    【解决方案2】:

    尝试通过 NPM 任务安装/更新 gulp-cli:

    顺便说一句,package.json 中的包将安装在当前项目/文件夹而不是全局,您需要通过 npm 命令(package.json 的脚本属性)调用 gulp 命令来使用当前项目/文件夹中的包或指定直接路径(例如 ./node_modules/gulp/bin/gulp)

    【讨论】:

    • 为我迟到的回复道歉,我生病了,几天没跑了。这个建议有助于解决我的问题。这个建议的关键是我应该在源代码管理的根文件夹中而不是在项目文件夹中执行此操作。
    【解决方案3】:

    我发现对我有用的解决方案是将管道从 Hosted 更改为 Hosted VS2017

    我完成了将 Gulp 升级到 4.0 的 PR,并且 PR 构建完成但 CI 构建失败并出现奇怪的结果。经过大量搜索,我将其范围缩小到 PR 构建已经设置为 Hosted VS2017(它也在构建需要它们的 C# 项目)并且 CI 构建只进行 Gulp 构建并设置为 Hosted

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 2014-06-12
      • 2017-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多