升级Angular13安装@angular/localize@13.0.0出现babel依赖报错如何解决
问题原因
报错是由两个核心问题导致的:
- 依赖版本冲突:
@angular/localize@13.0.0声明依赖的@babel/core@7.8.6与你devDependencies中配置的@babel/core@^7.16.0产生解析冲突,同时项目中留存的@angular-devkit/build-ng-packagr@~0.1002.0是Angular10版本的废弃依赖,严重干扰npm的依赖版本解析逻辑。 - 镜像源同步异常(可选):如果你使用了第三方npm镜像源,可能存在版本同步延迟,导致无法拉取到指定版本的
@babel/core包。
解决方案
按以下步骤操作即可解决报错:
- 清理npm本地缓存,消除缓存异常导致的版本检索问题
执行命令:npm cache clean --force - 移除废弃依赖
@angular-devkit/build-ng-packagr,该包在Angular12+版本已被整合进@angular-devkit/build-angular,无需单独安装
执行命令:npm uninstall @angular-devkit/build-ng-packagr - 重新安装
@angular/localize,使用兼容模式跳过严格的peer依赖校验
执行命令:npm i @angular/localize@^13.0.0 --legacy-peer-deps - 可选优化:将所有
@angular-eslint开头的依赖版本升级到^13.0.1,与Angular13版本匹配,避免后续出现运行、构建兼容性问题,修改package.json对应版本后重新执行npm i --legacy-peer-deps即可。
内容的提问来源于stack exchange,提问作者Ora
相关产品推荐
相关产品推荐

