angular - 单版本更新 Angular

标签 angular angular-material angular-cli version

我必须将 Angular 7.x 项目更新到 Angular 8.2.0,因此我在线阅读了ng update

我的全局 Angular 版本等于我的更新目标版本 (8.2.0),但 ng update 强制我更新到最新版本。

Your global Angular CLI version (8.2.0) is greater than your local
version (7.3.5). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".
    We analyzed your package.json, there are some packages to update:

      Name                                      Version                  Command to update
     ---------------------------------------------------------------------------------------
      @angular/cdk                              7.3.3 -> 13.3.1          ng update @angular/cdk
      @angular/cli                              7.3.5 -> 13.3.0          ng update @angular/cli
      @angular/core                             7.2.8 -> 13.3.0          ng update @angular/core
      @angular/core                             7.2.8 -> 7.2.16          ng update @angular/core
      @angular/fire                             5.1.1 -> 7.3.0           ng update @angular/fire
      @angular/material                         7.3.3 -> 13.3.1          ng update @angular/material
      @nguniversal/aspnetcore-engine            7.1.1 -> 8.2.6           ng update @nguniversal/aspnetcore-engine
      @nguniversal/express-engine               7.1.1 -> 13.1.0          ng update @nguniversal/express-engine
      @ngx-i18nsupport/tooling                  1.1.2 -> 8.0.3           ng update @ngx-i18nsupport/tooling
      ng-mocks                                  7.7.0 -> 13.3.0          ng update ng-mocks


    There might be additional packages that are outdated.
    Run "ng update --all" to try to update all at the same time.

有没有办法使用ng update --all来做到这一点?我必须使用 Angular update guide

我也尝试过 ng update @angular/cli --from="7.3.5"--to="8.2.0" 但它不起作用。

                  Package "@angular-devkit/build-ng-packagr" has an incompatible peer dependency to "ng-packagr" (requires "^2.2.0 || ^3.0.0 || ^4.0.0", would install "13.3.0").
                  Package "codelyzer" has an incompatible peer dependency to "@angular/core" (requires ">=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0" (extended), would install "13.3.0").
                  Package "ng-mocks" has an incompatible peer dependency to "@angular/forms" (requires ">=5.x <=7.x" (extended), would install "13.3.0").
                  Package "codelyzer" has an incompatible peer dependency to "@angular/compiler" (requires ">=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0" (extended), would install "13.3.0").
                  Package "@angular/http" has an incompatible peer dependency to "@angular/platform-browser" (requires "7.2.8" (extended), would install "13.3.0").
                  Package "@ismaestro/ngx-example-library" has an incompatible peer dependency to "@angular/common" (requires "^6.0.0-rc.0 || ^6.0.0" (extended), would install "13.3.0").
                  Package "@angular/fire" has an incompatible peer dependency to "@angular/platform-browser-dynamic" (requires ">=6.0.0 <8" (extended), would install "13.3.0").
                  Package "@nguniversal/express-engine" has an incompatible peer dependency to "@angular/platform-server" (requires "^7.1.4" (extended), would install "13.3.0").
                  Package "tsickle" has an incompatible peer dependency to "typescript" (requires "~3.3.1", would install "4.6.3").
                  Package "@angular/fire" has an incompatible peer dependency to "zone.js" (requires "^0.8.0", would install "0.11.5").
                  Package "@angular/http" has an incompatible peer dependency to "rxjs" (requires "^6.0.0", would install "7.5.5").```

最佳答案

这是因为当您执行 ng update 时,您并未定义特定版本。 您应该使用类似 ng update @angular/core@10 @angular/cli@10 等...

不建议在一次更新中从 Angular 7 升级到 Angular 13,而是应该逐个版本地升级,例如:

  • Angular 7 -> Angular 8,
  • Angular 8 -> Angular 9.1

遵循此 Angular 更新指南,应该没问题,底部有每次更新前应执行的具体说明 https://update.angular.io/

关于angular - 单版本更新 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71650002/

相关文章:

javascript - [routerLink] =""VS href ="javascript:void(0);"

angular - Jasmine Angular 4 单元测试 router.url

css - 更改 Angular 日期选择器 Material 组件的颜色

javascript - stylePreprocessorOptions Angular 8

angular - 从 Angular 服务、 Angular 4可观察到的测试

drag-and-drop - Angular Material 7 拖放 x 和 y 坐标

Angular Material 日期选择器无法正常工作

Angular 5 - ng 测试 - 请包含 "BrowserAnimationsModule"或 "NoopAnimationsModule"

javascript - Angular : ng build fails but npm run build works fine

Angular2 material 2 Autocomplete如何改变下拉的宽度?