升级Angular Material从13到14版本时报错如何解决
Angular 13 升级 14 时 Angular Material 升级报错修复方案
这个报错是peer依赖冲突导致的,Angular Material 14.x 对同生态包的版本一致性要求极高,只要核心包、CDK包和Material版本号没有严格对齐,就会触发依赖树解析失败,按以下步骤操作即可修复:
- 先强制对齐所有Angular核心包、CLI包的版本到14.0.1,避免出现部分包停留在13.x的情况,执行命令:
ng update @angular/core@14.0.1 @angular/cli@14.0.1 --force - 优先升级Angular CDK,CDK是Material的底层强依赖,版本必须和目标Material版本完全一致,执行命令:
ng update @angular/cdk@14.0.1 - 完成上述两步后再执行Material升级命令,这一步不要加
--force参数,避免漏掉组件迁移、样式更新的必要提示:ng update @angular/material@14.0.1
如果执行以上命令依然报依赖错误,先关闭命令行,删除项目根目录下的
node_modules文件夹、package-lock.json文件(使用yarn则删除yarn.lock,使用pnpm则删除pnpm-lock.yaml),重新执行npm install完成基础依赖安装后,再依次执行CDK、Material的升级命令即可。
- 升级完成后必须做版本校验:打开
package.json检查所有@angular/开头的依赖版本,确保全部为14.0.x版本,不能残留13.x版本的包,也不能出现14.1.x及以上的高版本包,跨小版本同样会触发依赖不兼容问题。
- 避坑提示:Angular全家桶升级必须遵循顺序:核心/CLI → CDK → Material,所有同系列包版本号必须完全对齐,不要跳步单独升级Material。
内容的提问来源于stack exchange,提问作者Abhi
相关产品推荐
相关产品推荐

