【问题标题】:VSTS Gulp build step errorVSTS Gulp 构建步骤错误
【发布时间】:2016-11-13 09:32:57
【问题描述】:

我在 VSTS 中设置构建步骤时遇到问题。我们使用 gulp 从less 文件生成css。在 Visual Studio (Task Runner Explorer) 中运行良好,但在 VSTS 中运行时出现以下构建错误:

Gulp 失败并出现错误:C:\NPM\Modules\gulp.cmd 失败并返回代码:1

我也尝试了the docs 中提到的关于 NPM / Gulp 设置的示例,但它对我也不起作用。我应用的唯一更改是设置 gulpfile.js 的路径。我保留了其余部分(NPM 安装参数、Gulp 任务名称、工作文件夹等)但我得到了上面提到的错误。

任何建议我做错了什么?

这是失败的构建步骤的完整日志:

2016-07-11T12:07:06.7456466Z 将工作文件夹设置为默认值:C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.102.0\tasks\Gulp\0.5.24 2016-07-11T12:07:06.9966480Z ##[debug]agent.workFolder=C:\a 2016-07-11T12:07:07.0176485Z ##[debug] 加载输入和端点 2016-07-11T12:07:07.0186489Z ##[debug] 加载 ENDPOINT_AUTH_E43D0F79-1244-42AD-B28B-5B98484615E7 2016-07-11T12:07:07.0186489Z ##[debug] 加载 ENDPOINT_AUTH_PARAMETER_E43D0F79-1244-42AD-B28B-5B98484615E7_ACCESSTOKEN 2016-07-11T12:07:07.0196487Z ##[debug] 加载 ENDPOINT_AUTH_PARAMETER_SYSTEMVSSCONNECTION_ACCESSTOKEN 2016-07-11T12:07:07.0196487Z ##[debug] 加载 ENDPOINT_AUTH_SCHEME_E43D0F79-1244-42AD-B28B-5B98484615E7 2016-07-11T12:07:07.0206490Z ##[debug] 加载 ENDPOINT_AUTH_SCHEME_SYSTEMVSSCONNECTION 2016-07-11T12:07:07.0206490Z ##[debug] 加载 ENDPOINT_AUTH_SYSTEMVSSCONNECTION 2016-07-11T12:07:07.0216488Z ##[debug] 加载 INPUT_CWD 2016-07-11T12:07:07.0216488Z ##[debug] 加载 INPUT_GULPFILE 2016-07-11T12:07:07.0216488Z ##[debug] 加载 INPUT_GULPJS 2016-07-11T12:07:07.0226488Z ##[调试]已加载 9 2016-07-11T12:07:07.0226488Z ##[debug]检查路径:C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.102.0\tasks\Gulp\0.5.24\task.json 2016-07-11T12:07:07.0236481Z ##[debug] 将资源文件设置为:C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.102.0\tasks\Gulp\0.5.24\task .json 2016-07-11T12:07:07.0236481Z ##[debug]system.culture=en-US 2016-07-11T12:07:07.0246486Z ##[debug]gulpFile=C:\a\1\s\MyProject\gulpfile.js 2016-07-11T12:07:07.0246486Z ##[debug] 检查路径:C:\a\1\s\MyProject\gulpfile.js 2016-07-11T12:07:07.0256486Z ##[调试]cwd=C:\a\1\s 2016-07-11T12:07:07.0256486Z ##[调试]路径存在:C:\a\1\s 2016-07-11T12:07:07.0276485Z ##[debug]gulp=C:\NPM\Modules\gulp.cmd 2016-07-11T12:07:07.0276485Z ##[debug] 检查路径:C:\NPM\Modules\gulp.cmd 2016-07-11T12:07:07.0286476Z ##[debug]targets=null 2016-07-11T12:07:07.0296489Z ##[调试]C:\NPM\Modules\gulp.cmd 参数:[] 2016-07-11T12:07:07.0296489Z ##[debug]C:\NPM\Modules\gulp.cmd 参数:--gulpfile 2016-07-11T12:07:07.0306484Z ##[debug]C:\NPM\Modules\gulp.cmd pathArg: C:\a\1\s\MyProject\gulpfile.js 2016-07-11T12:07:07.0306484Z ##[debug]C:\NPM\Modules\gulp.cmd 参数:C:\a\1\s\MyProject\gulpfile.js 2016-07-11T12:07:07.0316486Z ##[debug]arguments=null 2016-07-11T12:07:07.0316486Z ##[debug] 执行工具:C:\NPM\Modules\gulp.cmd 2016-07-11T12:07:07.0316486Z ##[调试]参数: 2016-07-11T12:07:07.0326490Z ##[调试] --gulpfile 2016-07-11T12:07:07.0326490Z ##[调试] C:\a\1\s\MyProject\gulpfile.js 2016-07-11T12:07:07.0336484Z [命令]C:\NPM\Modules\gulp.cmd --gulpfile C:\a\1\s\MyProject\gulpfile.js 2016-07-11T12:07:07.9754363Z [12:07:07] 在 C:\a\1\s\MyProject 中找不到本地 gulp 2016-07-11T12:07:07.9764358Z [12:07:07] 尝试运行:npm install gulp 2016-07-11T12:07:07.9844369Z ##[调试]rc:1 2016-07-11T12:07:07.9854369Z ##[调试]成功:假 2016-07-11T12:07:07.9874369Z ##[debug]taskRunner 失败 2016-07-11T12:07:07.9894368Z ##[debug] 任务结果:失败 2016-07-11T12:07:07.9964345Z ##[error]Gulp 失败,错误:C:\NPM\Modules\gulp.cmd 失败,返回码:1

还有package.json的内容

{
    "name": "package",
    "version": "1.0.0",
    "private": true,
    "devDependencies": {
        "gulp": "3.9.1",
        "gulp-bower": "0.0.13",
        "gulp-config": "0.3.0",
        "gulp-less": "3.0.5",
        "gulp-plumber": "1.1.0",
        "gulp-minify-css": "1.2.4",
        "gulp-watch": "4.3.5"
    }
}

以及“npm install”步骤的日志

2016-07-12T09:39:02.2279747Z 将工作文件夹设置为默认值:C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.102.0\tasks\Npm\0.2.14 2016-07-12T09:39:02.9144367Z ##[debug]agent.workFolder=C:\a 2016-07-12T09:39:02.9144367Z ##[debug] 加载输入和端点 2016-07-12T09:39:02.9154360Z ##[debug] 加载 ENDPOINT_AUTH_E43D0F79-1244-42AD-B28B-5B98484615E7 2016-07-12T09:39:02.9154360Z ##[debug] 加载 ENDPOINT_AUTH_PARAMETER_E43D0F79-1244-42AD-B28B-5B98484615E7_ACCESSTOKEN 2016-07-12T09:39:02.9164387Z ##[debug] 加载 ENDPOINT_AUTH_PARAMETER_SYSTEMVSSCONNECTION_ACCESSTOKEN 2016-07-12T09:39:02.9174377Z ##[debug] 加载 ENDPOINT_AUTH_SCHEME_E43D0F79-1244-42AD-B28B-5B98484615E7 2016-07-12T09:39:02.9174377Z ##[debug] 加载 ENDPOINT_AUTH_SCHEME_SYSTEMVSSCONNECTION 2016-07-12T09:39:02.9184400Z ##[debug] 加载 ENDPOINT_AUTH_SYSTEMVSSCONNECTION 2016-07-12T09:39:02.9184400Z ##[debug] 加载 INPUT_COMMAND 2016-07-12T09:39:02.9194377Z ##[debug] 加载 INPUT_CWD 2016-07-12T09:39:02.9204364Z ##[调试]已加载 8 2016-07-12T09:39:02.9204364Z ##[debug]检查路径:C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.102.0\tasks\Npm\0.2.14\task.json 2016-07-12T09:39:02.9214362Z ##[debug] 将资源文件设置为:C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.102.0\tasks\Npm\0.2.14\task .json 2016-07-12T09:39:02.9214362Z ##[debug]system.culture=en-US 2016-07-12T09:39:02.9224360Z ##[debug] 检查路径:C:\Program Files\nodejs\npm.cmd 2016-07-12T09:39:02.9224360Z ##[debug]npm=C:\Program Files\nodejs\npm.cmd 2016-07-12T09:39:02.9224360Z ##[debug]cwd=C:\a\1\s\MyProject 2016-07-12T09:39:02.9234370Z ##[debug] 路径存在:C:\a\1\s\MyProject 2016-07-12T09:39:02.9234370Z ##[debug] 命令=安装 2016-07-12T09:39:02.9244374Z ##[debug]C:\Program Files\nodejs\npm.cmd 参数:安装 2016-07-12T09:39:02.9244374Z ##[debug]arguments=null 2016-07-12T09:39:02.9254371Z ##[debug] 执行工具:C:\Program Files\nodejs\npm.cmd 2016-07-12T09:39:02.9254371Z ##[调试]参数: 2016-07-12T09:39:02.9503609Z ##[调试] 安装 2016-07-12T09:39:02.9503609Z [命令]C:\Program Files\nodejs\npm.cmd 安装 2016-07-12T09:39:12.1720721Z npm WARN 已弃用 gulp-minify-css@1.2.4:请使用 gulp-clean-css 2016-07-12T09:39:15.5308118Z npm WARN 已弃用 graceful-fs@3.0.8:graceful-fs v3.0.0 及之前的版本在节点版本 >= v7.0 上将失败。请尽快更新到graceful-fs@^4.0.0。使用“npm ls graceful-fs”在树中找到它。 2016-07-12T09:39:15.6948189Z npm WARN 已弃用 minimatch@2.0.10:请更新到 minimatch 3.0.2 或更高版本以避免 RegExp DoS 问题 2016-07-12T09:39:15.9905269Z npm WARN 已弃用 minimatch@0.2.14:请更新到 minimatch 3.0.2 或更高版本以避免 RegExp DoS 问题 2016-07-12T09:39:16.0395266Z npm WARN 已弃用 lodash@1.0.2: lodash@= v7.0 上会失败。请尽快更新到graceful-fs@^4.0.0。使用“npm ls graceful-fs”在树中找到它。 2016-07-12T09:39:18.0735789Z npm WARN 已弃用 minimatch@0.3.0:请更新到 minimatch 3.0.2 或更高版本以避免 RegExp DoS 问题 2016-07-12T09:39:18.1575757Z npm WARN 已弃用 lodash@2.2.1: lodash@

【问题讨论】:

  • 错误信息过于笼统。可以分享详细的错误日志吗?
  • @Eddie-MSFT 我粘贴了完整的日志消息
  • 您是否在“gulp”任务之前添加了“npm install”任务?如果是,您是否在“/package.json”文件中添加了“gulp”作为依赖项?错误消息表明“未找到本地 gulp”。
  • @Eddie-MSFT 是的,我有 2 个步骤。 1:npm install(不带参数)和2:gulp,我粘贴了package.json的内容

标签: node.js build gulp azure-devops


【解决方案1】:

尝试在“npm install”任务的“高级”设置下将“工作目录”更新为“package.json”文件的路径。

【讨论】:

  • 我仍然有同样的问题。我厌倦了更改“npm install”任务的工作目录以及结合 gulp 步骤 - 没有成功
  • @Szeki 你看到在“npm install”步骤中安装了 gulp 吗?
  • 是的,我用该步骤的日志更新了问题
  • @Szeki “package.json”文件是否和“gulpfile.js”放在同一路径?
  • @Szeki 这很奇怪。如果在 Gulp 步骤之前再添加一个带有参数“gulp”的“npm install”步骤和相同的工作目录,它会起作用吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
  • 2016-10-22
  • 2021-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多