我尝试通过在终端中运行ng update @angular/cli @angular/core
将Angular项目从7.2.5版本更新到核心框架和CLI的8。
终端的回复是“我们分析了您的package.json,一切似乎都井然有序。干得好!'
我的版本列表:
$ ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 7.3.9
Node: 11.14.0
OS: darwin x64
Angular: 7.2.15
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.13.9
@angular-devkit/build-angular 0.13.9
@angular-devkit/build-ng-packagr 0.13.9
@angular-devkit/build-optimizer 0.13.9
@angular-devkit/build-webpack 0.13.9
@angular-devkit/core 7.3.9
@angular-devkit/schematics 7.3.9
@angular/cdk 7.3.7
@angular/cli 7.3.9
@angular/material 7.3.7
@ngtools/json-schema 1.1.0
@ngtools/webpack 7.3.9
@schematics/angular 7.3.9 (cli-only)
@schematics/update 0.13.9
ng-packagr 5.2.0
rxjs 6.5.2
typescript 3.2.4
webpack 4.29.0
答案 0 :(得分:3)
到目前为止,Angular 8尚未稳定。
但是,如果您真的希望更新不稳定版本,请在软件包名称的末尾使用 @next 。
ng更新@ angular / cli @ next @ angular / core @ next
答案 1 :(得分:2)
Angular团队使升级变得比以前容易得多。您可以使用《 Angular更新指南》获取将项目从Angular版本更新到另一个版本所需的命令。
转到该交互式指南,将7.1.4指定为当前版本,将目标版本指定为v8.3.2,然后单击向我显示如何更新按钮。
指定版本后,您会收到一条警告,提示我们建议您不要跨多个主要版本进行迁移。由于我们正在从v7迁移到v8:
Angular 8使用TypeScript 3.4 read more about errors that might arise from improved type checking。
确保您使用的是Node 10 or later。
在您的命令行界面中,运行以下命令:
provider = "<name>"
这将分析项目的provider "aws" {
region = "us-east-2a"
}
resource "aws_instance" "my_instance"
{
ami = "ami-0d542ef84ec55d71c"
instance_type = "t2.micro"
tags {
name="terraform"
}
}
文件,并为您提供要使用所需命令进行更新的软件包列表:
$ ng update
因此,让我们首先使用以下命令将核心框架和CLI分别更新为 v8.2.14 和 v8.3.19 :
package.json
这会将核心框架和CLI更新为Angular 8:
We analyzed your package.json, there are some packages to update:
Name Version Command to update
--------------------------------------------------------------------------------
@angular/cli 7.1.4 -> 8.3.19 ng update @angular/cli
@angular/core 7.1.4 -> 8.2.14 ng update @angular/core
rxjs 6.3.3 -> 6.5.3 ng update rxjs
There might be additional packages that are outdated.
Run "ng update --all" to try to update all at the same time.
注意:在Windows上,我必须在
$ ng update @angular/cli @angular/core
之后运行Updating package.json with dependency @angular/compiler @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/language-service @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/forms @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/platform-browser @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/platform-browser-dynamic @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/cli @ "8.3.19" (was "7.1.4")... Updating package.json with dependency @angular/animations @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/common @ "8.2.14" (was "7.1.4")... Updating package.json with dependency zone.js @ "0.9.1" (was "0.8.26")... Updating package.json with dependency rxjs @ "6.5.3" (was "6.3.3")... Updating package.json with dependency @angular/router @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/core @ "8.2.14" (was "7.1.4")... Updating package.json with dependency @angular/compiler-cli @ "8.2.14" (was "7.1.4")... Updating package.json with dependency typescript @ "3.5.3" (was "3.1.6")...
才能安装依赖关系的新版本。
现在,让我们使用以下命令检查Angular的新版本:
npm install
这是命令的输出:
ng update @angular/cli @angular/core
您可以看到我们已成功将Angular CLI更新到 v8.3.19 ,将Angular更新到 v8.2.14 ,并更新了其他核心软件包。甚至TypeScript也被撞到 v3.5.3 。
我从这个update guide和这个official post那里得到了这些指示
答案 2 :(得分:1)
到目前为止,它已经稳定8.0.0
:)
您可能想尝试运行ng update --all
来更新package.json
文件中的所有软件包。
但是,如果发现其他软件包之间不满足某些相互依赖性,则可能无法继续进行。
在这种情况下,您可能还需要添加--force
选项。
或者,您可以选择一种更定制的方法和手动选择的软件包进行更新(如Veeraragavan的回答所建议),但是您无需再添加@next
版本,因为所有Angular软件包都是8.0.0版本到现在为止都很稳定。
答案 3 :(得分:0)
除了有关ng update
命令的其他答案之外,请注意,Angular 7和8版本之间还有一些重大更改,需要引起注意。
尤其是:
- 如果您使用旧版
HttpModule
和Http
服务,请切换到HttpClientModule
和HttpClient
服务。HttpClient
简化了 默认的人体工程学(不再需要映射到JSON),现在 支持类型化的返回值和拦截器。阅读更多 angular.io。- 确保您使用的是Node 10 or later。
Angular在其Angular Update Guide中详细描述了此过程。
答案 4 :(得分:0)
如果您重复
ng更新@ angular / cli @ angular / core
它将升级到下一步,即8
答案 5 :(得分:0)
通过运行
升级到核心框架和CLI的版本8。 ng update @angular/cli@8 @angular/core@8
在您的终端上