Angular 12升级至13时如何解决依赖树冲突问题?
Angular 12 升级至13:依赖冲突解决及顺畅升级步骤
报错原因
你遇到的是依赖树冲突:升级时@angular/compiler-cli已升到13.0.3版本,它要求peer依赖@angular/compiler必须是13.0.3,但你的项目仍保留着12.0.5版本的@angular/compiler,版本不匹配触发了报错。
一、零冲突标准升级流程
这是官方推荐的升级方式,能自动处理依赖关联:
- 先统一全局CLI版本(可选,避免版本混乱):
npm uninstall -g @angular/cli npm install -g @angular/cli@13.3.11 - 进入项目根目录,执行官方升级命令:
该命令会自动将所有Angular核心包升级到13.x兼容版本,同步修复peer依赖关系。ng update @angular/core@13 @angular/cli@13
二、手动修复当前已出现的冲突
如果已经触发报错,按以下步骤处理:
- 删除项目根目录下的
node_modules文件夹和package-lock.json文件 - 打开
package.json,将所有@angular/开头的依赖(如@angular/compiler、@angular/core、@angular/common等)的版本号统一改为~13.3.0,确保@angular/compiler-cli和@angular-devkit/build-angular的版本与Angular 13兼容 - 重新安装依赖:
若仍有问题,可临时用npm installnpm install --legacy-peer-deps跳过peer依赖检查,但这是临时方案,优先用官方升级工具彻底解决。
三、升级后验证
- 启动项目确认正常运行:
ng serve - 检查并升级第三方依赖:
按提示逐个升级列出的过时第三方包即可。ng update
内容的提问来源于stack exchange,提问作者Marco Antonio Martinez
相关产品推荐
相关产品推荐

