今天将一个老项目从Angular7升级到Angular8,本文记录一下遇到的问题及解决方法。
查看当前项目是否需要升级
在项目目录中,运行以下命令:
1 | ng update |
系统会提示:
1 | Using package manager: 'yarn' |
可以看到,@angular/cli 和 @angular/core 都可以升级到8的版本。
升级Angular8
选择一次性全部升级,所以执行以下命令:
1 | ng update --all |
这时系统会提示typescript的版本不兼容
1 | Package "@angular-devkit/build-angular" has an incompatible peer dependency to "typescript" (requires ">=3.1 < 3.5", would install "3.5.1") |
查看配置文件package.json的”devDependencies”段落, 可以看到现在的项目当前的版本时比较低的
1 | "devDependencies": { |
执行强制升级, 执行:
1 | ng update --all --force |
能完成升级,但会有如下的警告:
1 | warning " > @angular-devkit/build-angular@0.800.2" has incorrect peer dependency "typescript@>=3.1 < 3.5". |
再打开package.json文件,
1 | "devDependencies": { |
会发现typescript的依赖版本已经最新版本: 3.5.1, 再执行以下命令,为项目指定typescript的版本
1 | yarn add typescript@">=3.1 < 3.5" |
升级完成,你可以运行ng serve启动项目了。