Angular 5无法升级至Angular 6:@angular/router@6.0.0无兼容版本
解决Angular 5升级到6时找不到@angular/router@6.0.0正式版的问题
你遇到的这个问题,核心原因大概率是npm缓存过期、第三方源同步延迟,或是Angular CLI版本没跟上正式版节奏——导致包管理器识别不到正式发布的@angular/router@6.0.0,只能找到RC测试版和5.x旧版本。下面是一步步的解决方案:
步骤1:先升级Angular CLI到6.x正式版
旧版本的CLI不会默认拉取Angular 6的正式包,先全局更新CLI:
# 卸载旧版angular-cli npm uninstall -g angular-cli # 安装6.0.0正式版的CLI npm install -g @angular/cli@6.0.0
步骤2:清理npm缓存
本地缓存可能还存着旧的包索引,导致无法识别新发布的正式版:
npm cache clean --force
如果你用Yarn管理依赖,也同步清理一下:
yarn cache clean
步骤3:更新项目依赖并重新安装
你可以手动修改项目根目录的package.json,把所有@angular/*开头的依赖版本统一改成^6.0.0,然后执行:
npm install
或者用Angular官方的升级命令(确保已经升级CLI后再跑):
ng update @angular/cli @angular/core
步骤4:切换到官方npm源(可选)
如果用的是第三方镜像源,可能存在同步延迟,暂时切换到官方源试试:
npm config set registry https://registry.npmjs.org/
安装完成后再切回你常用的源就好。
额外说明
Angular正式版发布后,部分镜像源可能需要几小时才能完成同步;另外旧CLI版本在执行升级时,会优先匹配RC版本的包,所以升级CLI是解决这个问题的关键前提。
内容的提问来源于stack exchange,提问作者Ekos
相关产品推荐
相关产品推荐

