【问题标题】:@ionic/angular, Angular 13, typescript and ionicons dependency conflict@ionic/angular, Angular 13, typescript 和 ionicons 依赖冲突
【发布时间】:2021-12-27 12:51:51
【问题描述】:

安装环境:

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 需要 Typescript >= 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)?

【问题讨论】:

    标签: angular typescript ionic-framework npm ionicons


    【解决方案1】:

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

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

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

    【讨论】:

    • 这对我没有帮助。但我用另一种方式解决了它。我在 tsconfig.json 的 compilerOptions 中添加了“skipLibCheck”:true。 ionic 开发人员说 Ionic 6 将包括 ionicons v6。所以我们只是等待新版本并现在使用skipLibCheck:true选项
    【解决方案2】:

    最新的 ionic 版本目前支持 Angular 12.x.x 版本。尝试降级到 Angular 12.x.x。 (这来自我的项目依赖)

    “npm 过时”输出 “离子信息”输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-14
      • 2022-10-24
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 2021-10-14
      相关资源
      最近更新 更多