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

升级至Angular 18后出现依赖冲突问题求助

升级Angular 18后npm依赖冲突问题

升级到Angular 18后,执行ng update时收到提示:

"We analyzed your package.json and everything seems to be in order. Good work!"

但运行npm i时仍出现依赖冲突(具体报错见截图),尝试多种修复方式均无效,当前依赖配置如下:

{
  "private": true,
  "dependencies": {
    "@angular-devkit/core": "^18.1.0",
    "@angular-devkit/schematics": "^18.1.0",
    "@angular/animations": "^18.1.0",
    "@angular/common": "^18.1.0",
    "@angular/compiler": "^18.1.0",
    "@angular/core": "^18.1.0",
    "@angular/forms": "^18.1.0",
    "@angular/platform-browser": "^18.1.0",
    "@angular/platform-browser-dynamic": "^18.1.0",
    "@angular/router": "^18.1.0",
    "@capacitor-mlkit/barcode-scanning": "^5.3.0",
    "@capacitor/android": "5.4.0",
    "@capacitor/app": "5.0.6",
    "@capacitor/app-launcher": "^5.0.7",
    "@capacitor/browser": "^5.1.0",
    "@capacitor/core": "^5.7.4",
    "@capacitor/haptics": "5.0.6",
    "@capacitor/ios": "^5.4.1",
    "@capacitor/keyboard": "5.0.6",
    "@capacitor/preferences": "^5.0.6",
    "@capacitor/share": "^5.0.6",
    "@capacitor/splash-screen": "^5.0.7",
    "@capacitor/status-bar": "5.0.6",
    "@ionic/angular": "^7.0.0",
    "@ionic/storage-angular": "^4.0.0",
    "@solana-mobile/mobile-wallet-adapter-protocol": "^2.1.2",
    "@solana-mobile/mobile-wallet-adapter-protocol-web3js": "^2.1.2",
    "@solana/pay": "^0.2.5",
    "@solana/spl-token": "^0.4.3",
    "@solana/spl-token-registry": "^0.2.4574",
    "@solana/web3.js": "^1.91.1",
    "angularx-qrcode": "^17.0.1",
    "bignumber.js": "^9.1.2",
    "bootstrap": "^5.3.3",
    "bs58": "^5.0.0",
    "buffer": "^6.0.3",
    "crypto-js": "^4.2.0",
    "expo-linking": "^6.0.0",
    "html2canvas": "^1.4.1",
    "ionicons": "^7.0.0",
    "nanoid": "^5.0.6",
    "rxjs": "^7.8.0",
    "tslib": "^2.3.0",
    "tweetnacl": "^1.0.3",
    "zone.js": "~0.14.6"
  }
}

解决步骤

  • 升级不兼容的核心依赖
    从依赖列表看,几个明显不兼容Angular 18的包:

    • angularx-qrcode:当前是17.x版本,直接升级到支持Angular 18的^18.0.0
    • @ionic/angular:Ionic 7对Angular 18支持有限,升级到Ionic 8(^8.0.0),它原生支持Angular 17+和18
    • @ionic/storage-angular:同步升级到^4.0.1及以上版本,确保和Ionic 8、Angular 18兼容
  • 清理缓存后重装

    1. 删除本地依赖文件夹和锁文件:
      rm -rf node_modules package-lock.json  # Mac/Linux
      # Windows用下面的命令
      rmdir /s /q node_modules && del package-lock.json
      
    2. 清理npm缓存:
      npm cache clean --force
      
    3. 重新安装依赖:
      npm install
      
  • 强制覆盖冲突依赖(如果上述步骤无效)
    在package.json中添加overrides字段,强制指定冲突子依赖的版本,比如:

    "overrides": {
      "@angular/core": "^18.1.0",
      "rxjs": "^7.8.0"
    }
    

    添加后再执行npm install即可。

内容的提问来源于stack exchange,提问作者Parse-Vader

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 22:40:20