首页 > 解决方案 > @ionic/angular, Angular 13, typescript 和 ionicons 依赖冲突

问题描述

安装环境:

ionic info

Ionic:

   Ionic CLI                     : 6.18.1 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.8.5
   @angular-devkit/build-angular : 13.0.2
   @angular-devkit/schematics    : 13.0.2
   @angular/cli                  : 13.0.2
   @ionic/angular-toolkit        : 5.0.3

Capacitor:

   Capacitor CLI      : 3.3.1
   @capacitor/android : 3.3.1
   @capacitor/core    : 3.3.1
   @capacitor/ios     : 3.3.1

Utility:

   cordova-res : 0.15.3
   native-run  : 1.5.0

System:

   NodeJS : v17.0.1 (/usr/local/Cellar/node/17.0.1/bin/node)
   npm    : 8.1.3
   OS     : macOS Monterey

Angular 13 需要打字稿 >= 4.4.2

@ionic/angular 最新版本是 5.8.5,它使用 @ionic/core 最新版本 5.8.5

@ionic/core 依赖于 ionicons 版本 5.5.3,它与 Typescript >= 4.4.x 不兼容

因此 ionicons 发布了版本 6,它与 Typescript >= 4.4.x 兼容

问题是 @ionic/core 需要过时版本的 ionicons (5.5.3)。我怎样才能替换那个东西,所以@ionic/core(它是@ionic/angular的一部分)会使用最新版本的离子依赖(6.0.0)?

标签: angulartypescriptionic-frameworknpmionicons

解决方案


您可以尝试使用包 - npm-force-resolutions https://www.npmjs.com/package/npm-force-resolutions

并在 package.json 上添加以下内容

"scripts": {
   "preinstall": "npm-force-resolutions",
    ...
},
"resolutions": {
   "ionicons": "6.0.0"
}

推荐阅读