我最近将我的Angular 4应用程序升级到Angular 6,现在想要升级到Angular 7。根据下面的文章,运行以下命令不应该超过10分钟即可完成升级。
ng update @angular/cli @angular/core
运行此命令后,命令提示符上没有任何活动。没有错误。有人能告诉我这是为什么吗?
我最近将我的Angular 4应用程序升级到Angular 6,现在想要升级到Angular 7。根据下面的文章,运行以下命令不应该超过10分钟即可完成升级。
ng update @angular/cli @angular/core
运行此命令后,命令提示符上没有任何活动。没有错误。有人能告诉我这是为什么吗?
Angular依赖项
npm install @angular/animations@latest @angular/common@latest @angular/compiler@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest --save
Angular的开发依赖
npm install @angular-devkit/build-angular@latest @angular/compiler-cli@latest @angular/cli@latest @angular/language-service@latest --save-dev
依赖项:Core-js 和 Zone.js
npm install core-js@latest zone.js@latest --save
开发依赖项:Types、codelyzer、karma 工具、jasmine、protractor 和 tslint
npm install @types/jasmine@latest @types/node@latest codelyzer@latest karma@latest karma-chrome-launcher@latest karma-cli@latest karma-jasmine@latest karma-jasmine-html-reporter@latest jasmine-core@latest jasmine-spec-reporter@latest protractor@latest tslint@latest --save-dev
TypeScript 的新版本 3+
npm install typescript@latest --save-dev
RxJS的最新版本为6+。
npm install rxjs@latest rxjs-compat@latest --save
而且:
npm install rxjs-tslint@latest --save-dev
Webpack最新版本为4+。
npm install webpack@latest --save-dev
ANGULAR 6.1 升级至 7 的步骤
为了正确地从 Angular 6.1 升级到 Angular 7,您需要按照以下步骤进行:
警告:请检查所有导入的模块是否与 Angular 7 兼容,如有必要,请升级它们。
升级到 Angular 7 之前:
将 HttpModule 导入改为 HttpClientModule(import {HttpClientModule} from '@angular/common/http';)
如果您正在使用 Http 导入,请将其更改为 import {HttpClient} from '@angular/common/http';
不要忘记删除所有 JSON.parse(response),因为您现在不需要使用 HttpClient 做这个了。
如果您正在使用 RXjs,您必须删除 RXjs 6 的旧依赖项。不用担心,您可以通过运行以下脚本来完成:
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
您可能需要更新 typescript 以成功迁移 rxjs: npm i -g typescript
如果您使用 Angular Service worker,请将任何 versionedFiles 迁移到 files 数组中。
将 Angular cli 升级到 v7:
ng update @angular/cli
将 Angular Core 升级到 v7:
ng update @angular/core
最后,您必须升级 Angular material:
ng update @angular/material
ng-update 对我也不起作用 - 我通过使用 npm-check 更新所有软件包,并在手动解决了一些错误后解决了这个问题。
package-lock.json
,然后运行 ng update
。 - matzar如果你和我一样只是想将项目更新到最新版本,那么从 Angular 6 开始以下操作适用于我:
在项目文件夹上打开控制台:
输入 ng update
,然后你会看到下面的消息:
We analyzed your package.json, there are some packages to update:
Name Version Command to update
--------------------------------------------------------------------------------
@angular/cli 7.0.7 -> 7.2.2 ng update @angular/cli
@angular/core 7.0.4 -> 7.2.1 ng update @angular/core
There might be additional packages that are outdated.
Run "ng update --all" to try to update all at the same time.
So I usually go straight and do:
ng update --all
Finally you can check your new version:
ng version
Angular CLI: 7.2.2
Node: 8.12.0
OS: win32 x64
Angular: 7.2.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.12.2
@angular-devkit/build-angular 0.12.2
@angular-devkit/build-optimizer 0.12.2
@angular-devkit/build-webpack 0.12.2
@angular-devkit/core 7.2.2
@angular-devkit/schematics 7.2.2
@angular/cli 7.2.2
@ngtools/webpack 7.2.2
@schematics/angular 7.2.2
@schematics/update 0.12.2
rxjs 6.3.3
typescript 3.2.4
webpack 4.28.4