Angularを8から10にアップグレードした後、ts.updateIdentifierが関数ではないというエラーが発生しました

Aug 21 2020

Angularを8から10にアップグレードした後、

 ERROR in ts.updateIdentifier is not a function

これは私の

ng --version

Angular CLI: 10.0.6
Node: 10.15.2
OS: win32 x64

Angular: 10.0.11
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: <error>

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.803.29
@angular-devkit/build-angular     0.803.29
@angular-devkit/build-optimizer   0.803.29
@angular-devkit/build-webpack     0.803.29
@angular-devkit/core              10.0.6
@angular-devkit/schematics        10.0.6
@angular/cdk                      10.1.3
@angular/cli                      10.0.6
@angular/fire                     5.4.2
@angular/http                     7.2.16
@ngtools/webpack                  8.3.29
@schematics/angular               10.0.6
@schematics/update                0.1000.6
rxjs                              6.6.2
typescript                        4.0.2
webpack                           4.39.2

私はyarnを使用しています、誰か助けてもらえますか、コード共有ネイティブスクリプトを使用しています

回答

44 jxn Aug 21 2020 at 03:24

今日も同じエラーが発生しました。typescriptの依存関係を3.9.7にダウングレードする必要があります。それは私のためにそれを修正しました。

1 Anonymous Nov 16 2020 at 20:33

メジャー言語バージョンをダウングレードすることは私にとって実際の選択肢ではなく、偶然にも問題のないAngularアプリを備えたリポジトリがあったので、それらを比較してこの解決策を見つけました。

エラーは@angular/…バージョン10.0.5に存在していました。これらのパッケージをバージョン10.2.0にアップグレードすると、問題は解決しました。

私の基本的なアプリの完全なリストは以下のとおりですが、より多くの@angular/プレフィックス付きパッケージがある場合があります。

    "@angular/animations": "^10.2.0",
    "@angular/common": "^10.2.0",
    "@angular/compiler": "^10.2.0",
    "@angular/core": "^10.2.0",
    "@angular/forms": "^10.2.0",
    "@angular/platform-browser": "^10.2.0",
    "@angular/platform-browser-dynamic": "^10.2.0",
    "@angular/router": "^10.2.0"