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

Angular 13中@angular-devkit/build-angular安装及依赖冲突解决

解决Angular 13项目npm安装的peer依赖冲突问题

冲突原因

你配置的@angular/compiler-cli版本范围是~13.2.0,npm安装时会拉取该范围内的最新版本13.2.7,而它要求peer依赖@angular/compiler@13.2.7;同时@angular-devkit/build-angular因为版本范围~13.2.5被自动升级到13.2.6,虽然它兼容compiler-cli@^13.0.0,但compiler-cli@13.2.7和你项目中现有@angular/compiler版本不匹配,导致冲突。

解决方案

1. 统一核心工具包版本(推荐)

Angular生态的工具包版本必须对齐,尤其是@angular/cli、@angular-devkit/build-angular、@angular/compiler-cli这几个核心包,直接把它们的版本范围改成一致的:

"devDependencies": {
  "@angular-devkit/build-angular": "~13.2.5",
  "@angular/cli": "~13.2.5",
  "@angular/compiler-cli": "~13.2.5",
  // 其他依赖保留原有配置
}

修改后执行npm install即可,npm会拉取同小版本的兼容包,自动解决peer依赖冲突。

2. 精确匹配compiler与compiler-cli版本

如果不想升级compiler-cli,先查看当前项目中@angular/compiler的具体版本:

npm list @angular/compiler

得到版本号后,把@angular/compiler-cli的版本改成和它完全一致的数值(比如compiler是13.2.0,就把compiler-cli设为13.2.0),同时把@angular-devkit/build-angular锁定为具体版本13.2.5(去掉~),避免npm自动升级到更高小版本:

"devDependencies": {
  "@angular-devkit/build-angular": "13.2.5",
  "@angular/cli": "~13.2.5",
  "@angular/compiler-cli": "13.2.0",
  // 其他依赖保留原有配置
}

这样整个依赖链的版本就完全兼容了。

3. 临时忽略冲突(不推荐长期使用)

如果需要快速完成安装,可以执行以下命令跳过peer依赖检查:

npm install --legacy-peer-deps

但这只是临时方案,后续可能引发其他兼容性问题,建议优先用前两种方法彻底解决。

如何确定兼容的devkit版本

Angular官方的工具包版本是严格绑定的:

  • @angular-devkit/build-angular的版本必须和@angular/cli完全一致
  • @angular/compiler-cli的版本必须和项目中@angular/core、@angular/compiler的版本完全一致
    只要遵循这两个规则,就能确保所有工具包版本兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:48:23