You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps中原先正常的代码执行Npm@1 install任务突然失败

故障根因

核心是node-sass版本与Azure流水线运行环境的Node.js版本不兼容:

  • 本地运行的Node版本对应npm 6.14.5,属于Node 14.x版本分支,node-sass@4.14.1对Node 14的适配完整,所以本地安装不会报错
  • Azure流水线使用的ubuntu-latest镜像近期更新了默认预装的Node版本,从日志可看到当前运行环境的Node版本为16.13.0、npm版本为8.1.0,而node-sass@4.x最高仅支持到Node 14,完全不兼容Node 16,因此安装时会触发源码编译失败。
修复方案

可任选以下任意一种方案解决问题:

  • 方案1:固定流水线Node.js版本为14.x
    在现有Npm@1任务前添加NodeTool任务,指定使用14.x分支的Node版本,和本地环境保持一致:
- task: NodeTool@0
  displayName: '指定Node.js版本为14.x'
  inputs:
    versionSpec: '14.x'
  • 方案2:将node-sass替换为官方推荐的dart-sass
    node-sass已经正式被官方废弃,直接将package.json中的node-sass: ^4.14.1依赖替换为sass: ^1.50.0即可,两者API完全兼容,无需修改业务代码即可正常运行。
  • 方案3:升级node-sass到支持Node 16的版本
    将package.json中的node-sass版本升级到v6.0及以上,该版本开始适配Node 16运行环境。

内容的提问来源于stack exchange,提问作者Connell.O'Donnell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:45:04