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

无法将Angular 11.2.14升级至12.x版本且因基础设施限制不能升级Node.js

问题根因

你遇到的报错是Angular CLI 12的后续补丁版本调整了Node.js最低版本校验规则,将Node 12的最低要求从12.14上调到了12.20,实际Angular 12核心功能本身可以兼容Node 12.19,仅校验逻辑限制了升级操作。你之前手动安装本地@angular/cli@12仍然报错,是因为ng update命令默认会自动下载最新的临时CLI版本执行升级逻辑,你本地安装的版本不会被使用,所以校验逻辑还是会触发。


可行解决方案

方案一:执行升级命令时跳过版本校验

直接在升级命令前添加禁用版本校验的环境变量,绕开CLI的检查逻辑:

NG_DISABLE_VERSION_CHECK=1 ng update @angular/core@12 @angular/cli@12 --force --allow-dirty

如果运行后npm仍报引擎错误,可额外添加npm参数跳过校验:

NG_DISABLE_VERSION_CHECK=1 npm install --ignore-engines @angular/core@12 @angular/cli@12

升级完成后执行项目构建、启动命令验证功能正常即可。

方案二:手动升级依赖(更稳定)

如果自动升级仍然失败,可以手动修改依赖版本完成升级:

  • 第一步:删除项目根目录下的node_modules文件夹和package-lock.json文件
  • 第二步:打开package.json,手动调整所有相关依赖的版本号:
    • 所有@angular/前缀的依赖版本统一调整为~12.2.0
    • @angular-devkit/前缀的依赖版本统一调整为~12.2.13
    • typescript版本调整为~4.3.5(匹配Angular 12的支持范围)
    • 其余第三方依赖保持原有兼容版本即可
  • 第三步:执行安装命令跳过引擎校验:
    npm install --ignore-engines
    
  • 第四步:安装完成后执行ng --version确认所有Angular相关依赖版本均已升级到12.x,再运行项目测试功能正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:15:08