首页 > 解决方案 > 带 Angular 的 Ionic 4:有可用的升级指南吗?

问题描述

我想将基于 Ionic 框架的 Angular应用程序升级到 Angular 8.x。

  1. 是否有升级 Ionic 应用程序的官方指南?
  2. ionic CLI 在升级过程中是否支持开发人员(如 angular cli)?
  3. 离子框架是否支持ng update

当前版本:

下面的输出由ionic info(在项目文件夹中执行)生成:

离子:

   Ionic CLI                     : 5.4.1 (C:\ProgramData\nvm\v10.15.0\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.9.0
   @angular-devkit/build-angular : 0.13.8
   @angular-devkit/schematics    : 7.3.8
   @angular/cli                  : 7.3.8
   @ionic/angular-toolkit        : 1.5.1

科尔多瓦:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.0.1, (and 8 other plugins)

效用:

   cordova-res : not installed
   native-run  : 0.2.8

系统:

   NodeJS : v10.15.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.4.1
   OS     : Windows 10

谢谢你的帮助!

标签: angularionic-frameworkupgrade

解决方案


这是将 Ionic 4 升级到 Angular 8 的半官方指南(由 Ionic 团队的 Mike Hartington 发布): https ://docs.google.com/document/d/1QOpQeDifPSg6F9WycDLcbQnpqjN96ew-Ap0_CB7CcCQ

我刚试过,它就像一个魅力。

将离子更新到 Angular 8

将@ionic/angular 和@ionic/angular-toolkit 更新到最新版本

npm install @ionic/angular@4.7.0
npm install @ionic/angular-toolkit@2.0.0 -D

从这里我们可以运行以下命令

npx ng update @angular/core @angular/cli

现在大多数包都应该更新了,为了确定,我们还需要更新这些

安装最新的 Angular devkit 更新

npm i @angular-devkit/architect@latest @angular-devkit/build-angular@latest @angular-devkit/core@latest @angular-devkit/schematics@latest

或者,如果您使用的是 mac/linux

npm i @angular-devkit/{architect,build-angular,core,schematics}@latest

潜在问题
旧版本的 Angular CLI 中存在一个已知错误,会导致更新命令停止运行并退出。如果您遇到此问题,请查看此问题并使用以下命令。

https://github.com/angular/angular-cli/issues/14589

npx ng update @angular/core
npx ng update --allow-dirty @angular/core --from 7 --to --migrate-only

ng update @angular/cli --allow-dirty
ng update @angular/cli --allow-dirty --from 7 --to 8 --migrate-only

存在一个已知错误,Angular CLI 将尝试安装 Angular 8.2.0-next。如果遇到此问题,请查看此问题并使用以下命令:

https://github.com/angular/angular-cli/issues/14980

npm install @angular/cli@latest
npx ng update @angular/core

请注意,这会让您先更新 Angular CLI,然后再更新 Angular Core。从这里,您可以继续使用上述指南中的其余命令。

如果您遇到任何问题,请在 Ionic repo 上打开一个新问题,并附上详细的重现步骤: https ://github.com/ionic-team/ionic/issues


推荐阅读