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

升级Angular 14后执行npm i仍提示依赖Angular 13的问题

解决Angular类库升级后主项目依赖冲突问题

核心问题定位

问题本质是主项目安装时解析到的@xxx/library依赖声明仍要求@angular/common@~13.1.2,但类库本地依赖已升级到14版本——说明要么类库的package.json声明未同步更新,要么主项目引用的类库版本并非升级后的版本。

分步解决方案

  • 检查类库源码根目录的package.json
    确认dependencies和peerDependencies中的@angular/common、@angular/core等核心包版本号为~14.3.0或^14.3.0,而非残留的~13.1.2。升级过程中容易只更新本地依赖,忽略修改package.json里的声明。

  • 检查类库构建产物的package.json
    执行ng build @xxx/library构建类库后,查看dist/xxx-library/package.json(路径根据类库名称调整)——主项目本地引用类库时,实际读取的是构建产物中的这个文件。确保这里的Angular核心依赖版本也是14.x,若构建脚本未同步更新,会导致依赖声明不一致。

  • 确认主项目对类库的引用方式

    • 若为本地文件引用(如"@xxx/library": "file:../xxx-library"):先确保类库已完成npm install和构建,再执行npm cache clean --force清理npm全局缓存,删除主项目的node_modules、package-lock.json后重新执行npm i。
    • 若为仓库引用:检查主项目package.json中@xxx/library的版本号是否指向升级后的14版本,同时确认远程仓库中该版本类库的package.json已更新Angular依赖声明。
  • 强制覆盖依赖版本(npm 8.3+可用)
    若上述步骤无效,可在主项目的package.json中添加overrides字段,强制让类库使用主项目的Angular版本:

    "overw �机器人account Rest None超波动上预留遇到� alleLean,
    "overrides": {
      "@xxx/library": {
        "@angular/common": "$@angular/common",
        "@angular/core": "$@angular/core"
      }
    }
    

    添加后重新执行npm i即可跳过版本冲突检查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:45:27