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

Angular 11生产环境流水线构建报错:发生未处理异常NGCC failed

问题根因

报错是Angular 11.x版本的ngcc(Angular兼容性编译器)和tslib 2.3.0及以上版本存在兼容性冲突导致的,完全符合你描述的场景特征:

  • package.json中tslib的版本声明为^2.0.0,允许安装2.x分支的所有最新版本
  • 流水线构建默认会清空历史依赖缓存重装,会自动拉取tslib 2.3.0+的不兼容版本
  • 本地环境已安装的是更早的tslib 2.0.x/2.1.x/2.2.x兼容版本,所以本地编译运行无异常
解决办法

将tslib版本锁死在兼容的2.2.x版本即可,任选以下一种操作:

方式一:直接固定依赖版本(推荐)

修改package.json的dependencies字段中tslib的配置:
把原来的
"tslib": "^2.0.0",
修改为
"tslib": "~2.2.0",

方式二:通过resolutions强制锁版本

如果不想修改原有依赖声明,可在package.json根节点添加resolutions配置:

"resolutions": {
  "tslib": "2.2.0"
}

若使用npm作为包管理器,需要额外在package.json的scripts字段中添加preinstall钩子:
"preinstall": "npx npm-force-resolutions"

修改完成后,删除本地node_modules文件夹、package-lock.json(或yarn.lock)文件,重新执行依赖安装测试,确认本地构建正常后推送到流水线即可。

补充验证点

若修改tslib版本后仍有报错,确认流水线使用的Node.js版本符合Angular 11的兼容要求:仅支持10.13.x ~ 14.x版本,不要使用15.x及以上的Node版本。

内容的提问来源于stack exchange,提问作者Danoi25

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:27:00