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

NX工作区升级Angular17至18时遇@angular-devkit/build-angular版本冲突

NX工作区Angular 17升级到18的依赖冲突解决

问题描述

在NX工作区将Angular 17升级至Angular 18过程中,执行npm install时出现以下依赖冲突错误:

Found: @angular-devkit/build-angular@17.1.3
node_modules/@angular-devkit/build-angular
  dev @angular-devkit/build-angular@"18.0.2" from the root project
  peer @angular-devkit/build-angular@">= 15.0.0 < 18.0.0" from @nx/angular@18.0.3
  node_modules/@nx/angular
    @nx/angular@"19.1.2" from the root project
    @nx/angular@"18.0.3" from @nrwl/angular@18.0.3
    node_modules/@nrwl/angular
      @nrwl/angular@"18.0.3" from @nx/angular@18.0.3
  peer @angular-devkit/build-angular@">=13.0.0 <18.0.0" from jest-preset-angular@13.1.6
  node_modules/jest-preset-angular
    dev jest-preset-angular@"14.1.0" from the root project

执行的操作步骤

  • 全局更新Angular CLI:npm install -g @angular/cli@latest
  • 执行NX迁移命令:npx nx migrate latest
  • 运行npm install时触发上述错误

解决步骤

  1. 统一NX版本并适配Angular 18
    错误显示@nx/angular存在19.1.2和18.0.3两个版本,其中旧版本的@nx/angular限制了@angular-devkit/build-angular的版本低于18。需迁移到完全兼容Angular 18的NX版本:

    • 执行命令:npx nx migrate @nx/angular@latest
    • 应用迁移变更:npm install
  2. 升级jest-preset-angular到兼容版本
    当前jest-preset-angular@13.1.6不支持Angular 18,需升级到最新版(14.2.0+已适配Angular 18):

    • 执行命令:npm install jest-preset-angular@latest --save-dev
  3. 强制锁定依赖版本(可选)
    如果仍有冲突,可在package.json中添加resolutions字段统一依赖版本(npm需配合npm-force-resolutions工具,或直接使用pnpm/yarn的overrides):

    "resolutions": {
      "@angular-devkit/build-angular": "18.0.2",
      "@nx/angular": "19.1.2"
    }
    

    添加后重新执行npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 21:25:06