11.x.x版本下如何修复@angular/material与core、cdk的依赖兼容问题
依赖冲突修复方案
Angular 官方生态下所有
@angular/开头的包(包括@angular/core、@angular/cdk、@angular/material、@angular/animations)必须保持版本号完全一致,跨版本混用必然触发peer依赖冲突。同时你用到的@angular-material-components/datetime-picker@5.0.3仅适配Angular 11版本,不能和低版本的@angular/material混用。
具体操作步骤
- 第一步:统一所有官方依赖版本和现有
@angular/core@11.2.14对齐,执行以下安装命令:
npm install @angular/cdk@11.2.14 @angular/material@11.2.14 @angular/animations@11.2.14 --save
- 第二步:调整自研库的
peerDependencies配置,版本范围设置为兼容即可:
{ "@angular/core": "^11.0.0", "@angular/cdk": "^11.0.0", "@angular/material": "^11.0.0", "@angular/animations": "^11.0.0", "@angular-material-components/datetime-picker": "~5.0.0" }
- 第三步:清理缓存重装解决残留报错
如果执行完上述操作仍有冲突报错,删除项目根目录下的node_modules文件夹和package-lock.json文件,执行npm cache clean --force后重新执行npm install即可。
内容的提问来源于stack exchange,提问作者J.BizMai
相关产品推荐
相关产品推荐

