You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular升级V14后安装npm包报ERESOLVE依赖冲突

问题根因

依赖冲突的核心原因是Angular跨版本升级后,第三方依赖@ng-bootstrap/ng-bootstrap未同步升级到兼容版本:

  • 当前项目Angular核心包(@angular/common、@angular/core等)版本为14.0.5
  • 项目残留的@ng-bootstrap/ng-bootstrap@12.1.2 仅声明peer依赖支持Angular ^13.0.0,与Angular14版本不兼容
  • npm 8.x默认开启严格peer依赖校验规则,因此安装任意npm包时都会触发依赖解析失败。新建Angular14项目不存在旧版本残留依赖,因此安装流程正常。

执行npm install @popperjs/core --legacy-peer-deps可以安装成功,本质是让npm跳过peer依赖合法性校验,没有解决根本的版本冲突问题,后续运行ng-bootstrap相关组件时大概率出现兼容性异常,不推荐作为长期方案。

解决方案

方案1:升级ng-bootstrap到Angular14兼容版本(推荐,彻底解决冲突)

@ng-bootstrap/ng-bootstrap 13.x版本正式适配Angular14,执行以下命令完成版本对齐:

  1. 升级ng-bootstrap到匹配版本
ng update @ng-bootstrap/ng-bootstrap@13

如果ng update命令执行失败,可直接手动安装对应版本:

npm install @ng-bootstrap/ng-bootstrap@13 --save
  1. 依赖升级完成后,执行普通安装命令验证无报错,再安装@popperjs/core即可:
npm install
npm install @popperjs/core --save

方案2:临时绕过依赖校验(仅紧急场景使用)

如果暂时无法升级ng-bootstrap版本,可配置npm默认跳过peer依赖校验,避免每次安装包都追加参数:

npm config set legacy-peer-deps true

注意:该配置会关闭npm的依赖合法性校验,版本不兼容问题不会在安装阶段暴露,可能引发运行时错误,仅适合临时应急使用。

升级提示

后续跨大版本升级Angular时,执行完核心包升级命令后,可直接运行ng update查看所有待升级的第三方兼容包,一次性完成所有依赖的版本对齐,避免残留旧版本依赖引发同类冲突。

内容的提问来源于stack exchange,提问作者work

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:36:26