Angular 11项目对等依赖冲突求助:UNMET PEER DEPENDENCY
解决Angular 11项目对等依赖对齐问题
核心方案:锁定Angular 11版本,精准适配依赖
目标是将所有依赖对齐到Angular 11,无需盲目调整Node/TS/CLI版本,按以下步骤操作:
1. 重置依赖环境
- 删除现有依赖目录和锁文件:
rm -rf node_modules package-lock.json - 清空npm缓存:
npm cache clean --force
2. 统一Angular核心包版本
打开package.json,将所有@angular/*开头的包版本统一指定为11.2.14,示例片段:
{ "@angular/animations": "11.2.14", "@angular/common": "11.2.14", "@angular/compiler": "11.2.14", "@angular/core": "11.2.14", "@angular/cli": "11.2.14", "@angular/compiler-cli": "11.2.14" }
3. 适配第三方依赖版本
针对ng2-smart-table这类存在版本冲突的依赖:
- 查找其官方文档或版本历史,确认支持Angular 11的具体版本(比如
1.6.0是兼容Angular 11的稳定版本) - 在
package.json中直接指定该兼容版本:"ng2-smart-table": "1.6.0"
4. 强制覆盖冲突依赖(npm 8+可用)
若部分依赖找不到适配版本,在package.json中添加overrides字段,强制其使用Angular 11的核心包:
{ "overrides": { "ng2-smart-table": { "@angular/core": "11.2.14", "@angular/common": "11.2.14", "@angular/forms": "11.2.14" } } }
5. 重新安装并验证
- 执行依赖安装:
npm install - 检查对等依赖状态:
npm ls @angular/core
关键注意事项
- Node版本使用Angular 11官方推荐的12.x或14.x,避免过高版本导致兼容问题
- TypeScript版本匹配Angular 11要求:对应TS 4.0.x或4.1.x,不要随意变更
内容的提问来源于stack exchange,提问作者powerflow
相关产品推荐
相关产品推荐

