将Angular 4升级至Angular 5时安装包失败,存在未满足的对等依赖
解决Angular 4升级到5时的未满足对等依赖问题
嘿,我来帮你搞定这个Angular升级时的依赖报错!出现UNMET PEER DEPENDENCY的核心原因是各个Angular核心包版本不统一,加上你当前用的Angular CLI版本和目标Angular 5不匹配,还有@angular/cdk的版本太老,和Angular 5不兼容。下面是一步步的解决方法:
1. 清理npm缓存,避免旧缓存干扰
首先执行缓存清理,确保安装时不会用到旧的缓存包:
npm cache clean --force
2. 替换适配Angular 5的Angular CLI版本
你现在用的Angular CLI 6.8.1是对应Angular 6+的,和Angular 5不兼容。我们需要安装适配Angular 5的CLI稳定版本(1.7.x系列):
# 全局卸载当前CLI npm uninstall -g @angular/cli # 安装适配Angular5的CLI版本 npm install -g @angular/cli@1.7.4
3. 统一更新所有Angular核心包到5.2.9
在项目根目录下,执行命令把所有Angular核心包都更新到5.2.9,确保版本完全一致:
npm install @angular/common@5.2.9 @angular/compiler@5.2.9 @angular/core@5.2.9 @angular/forms@5.2.9 @angular/http@5.2.9 @angular/platform-browser@5.2.9 @angular/platform-browser-dynamic@5.2.9 @angular/router@5.2.9 --save
4. 更新@angular/cdk到适配Angular5的版本
你当前的@angular/cdk@2.0.0-beta.12是非常老的版本,和Angular 5不兼容。我们需要安装和Angular 5同版本的CDK:
npm install @angular/cdk@5.2.9 --save
5. 重新安装所有依赖
最后删除旧的依赖文件夹和锁文件,重新安装依赖:
# 删除node_modules文件夹 rm -rf node_modules # 删除package-lock.json(如果用yarn就删yarn.lock) rm package-lock.json # 重新安装依赖 npm install
执行完这些步骤后,再检查依赖状态,应该就不会再出现UNMET PEER DEPENDENCY的报错了。如果还有问题,可以检查你的package.json里是否还有其他第三方依赖包,它们可能也需要适配Angular 5的版本,你可以根据报错信息逐个调整。
内容的提问来源于stack exchange,提问作者RollADie
相关产品推荐
相关产品推荐

