因依赖错误无法将NG Zorro添加到Angular项目的问题求解
报错核心原因为依赖版本不匹配:你当前项目的
@angular/animations等核心依赖为13.0.2版本,ng add ng-zorro-antd默认拉取的ng-zorro-antd@12.0.2仅适配Angular 12.x版本,两者 peer 依赖要求冲突导致安装失败。
可行解决方案
方案1:安装适配Angular 13的NG Zorro版本(最推荐)
NG Zorro 13.x版本完全兼容Angular 13生态,直接指定版本执行安装命令即可:ng add ng-zorro-antd@13方案2:强制覆写依赖校验(适合必须使用ng-zorro-antd@12.0.2的场景)
你之前添加--force、--legacy-peer-deps无效大概率是存在依赖缓存,可通过配置npm overrides强制复用现有依赖解决:
- 在项目根目录
package.json的顶层节点新增如下配置:
"overrides": { "ng-zorro-antd": { "@angular/animations": "$@angular/animations", "@angular/common": "$@angular/common", "@angular/core": "$@angular/core", "@angular/forms": "$@angular/forms", "@angular/platform-browser": "$@angular/platform-browser" } }
- 删除本地依赖缓存文件:
手动删除项目根目录下的node_modules文件夹和package-lock.json文件,或执行命令:rm -rf node_modules package-lock.json - 重新执行安装命令:
npm install ng-zorro-antd@12.0.2 --legacy-peer-deps - 跳过依赖安装步骤执行NG Zorro初始化:
ng add ng-zorro-antd@12.0.2 --skip-install
- 方案3:降级项目Angular版本(仅作参考)
如果项目允许降级Angular版本,可将package.json中所有@angular/开头的依赖版本统一调整为~12.2.0,重新安装依赖后再执行ng add ng-zorro-antd即可。
内容的提问来源于stack exchange,提问作者Nano
相关产品推荐
相关产品推荐

