Angular CDK与Material更新及file-saver安装报错求助
解决Angular CDK/Material与Common版本不兼容的依赖冲突
核心原因
@angular/cdk@10.2.7的peer依赖要求@angular/common为10.x或11.x,但你当前使用的@angular/common是13.3.11,版本跨度超出兼容范围,导致npm依赖解析失败。Angular生态的核心规则是:*所有@angular/系列包必须保持相同的大版本号,比如13.x版本的@angular/common必须搭配13.x版本的@angular/cdk、@angular/material。
具体解决步骤
1. 升级@angular/cdk和@angular/material到13.x版本
在项目根目录执行以下命令,指定升级到与@angular/common一致的13.3.11版本:
npm install @angular/cdk@~13.3.11 @angular/material@~13.3.11
若使用yarn则执行:
yarn add @angular/cdk@~13.3.11 @angular/material@~13.3.11
2. 验证版本匹配
升级完成后,打开package.json,确认以下包的版本号完全一致:
- @angular/common
- @angular/cdk
- @angular/material
- @angular/core(通常也需要与@angular/common同版本)
3. 重新安装file-saver
版本匹配后,执行file-saver的安装命令:
npm install file-saver # 或 yarn add file-saver
4. 清理缓存(若仍有问题)
如果依旧报错,清理npm缓存后重试:
npm cache clean --force rm -rf node_modules package-lock.json npm install
额外提示
后续升级Angular相关包时,优先使用Angular官方升级工具ng update,它会自动处理版本匹配逻辑,避免手动升级出错:
ng update @angular/cdk @angular/material
内容的提问来源于stack exchange,提问作者Kris Swat
相关产品推荐
相关产品推荐

