「未処理の例外が発生しました: NGCC が失敗しました」というメッセージで Angular プロジェクトをコンパイルする 質問する

「未処理の例外が発生しました: NGCC が失敗しました」というメッセージで Angular プロジェクトをコンパイルする 質問する

プロジェクトをコンパイルしようとしましたが、エラーが発生しました:

Error: Error on worker #3: Error: No typings declaration can be found for the referenced NgModule class in static withConfig(configOptions, 
        // tslint:disable-next-line:max-line-length
        breakpoints = []) {
            return {
                ngModule: FlexLayoutModule,
                providers: configOptions.serverLoaded ?
                    [
                        { provide: LAYOUT_CONFIG, useValue: Object.assign(Object.assign({}, DEFAULT_CONFIG), configOptions) },
                        { provide: BREAKPOINT, useValue: breakpoints, multi: true },
                        { provide: SERVER_TOKEN, useValue: true },
                    ] : [
                    { provide: LAYOUT_CONFIG, useValue: Object.assign(Object.assign({}, DEFAULT_CONFIG), configOptions) },
                    { provide: BREAKPOINT, useValue: breakpoints, multi: true },
                ]
            };
        }.

ng add @angular/materialとを使用したnpm install @angular/flex-layout@latest --saveところ、このエラーが発生しました。

これまで試したこと:

  • flexLayot を何度も再インストールします。
  • node_modules を削除して、もう一度インストールします。

私の依存関係は次のようになります:

"dependencies": {
    "@angular/animations": "^9.1.11",
    "@angular/cdk": "^9.2.4",
    "@angular/common": "~9.1.11",
    "@angular/compiler": "~9.1.11",
    "@angular/core": "~9.1.11",
    "@angular/flex-layout": "^10.0.0-beta.32",
    "@angular/forms": "~9.1.11",
    "@angular/material": "^9.2.4",
    "@angular/platform-browser": "~9.1.11",
    "@angular/platform-browser-dynamic": "~9.1.11",
    "@angular/router": "~9.1.11",
    "rxjs": "~6.5.5",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.2"
  }

それが間違っている可能性があることを知っている人はいますか?

私の app.module.ts

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    SharedModule,
    HomeModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

しかし、共有モジュールにFlexを追加したので、shared.module.tsも貼り付けます。


@NgModule({
  declarations: [],
  imports: [
    CommonModule,
    FlexLayoutModule
  ],
  exports: [
    FlexLayoutModule
  ]
})
export class SharedModule { }

ベストアンサー1

に切り替えますFlexLayout 9.0.0-beta.31。変更履歴によると、使用しているバージョンは「(...) Angular v10 および Angular CDK v10 のサポートが追加されました。」

@angular の はModuleWithProviders、@angular 9.xx ではジェネリックではありませんが、@angular 10 rc.x ではジェネリックです。FlexLayout x.x.x-beta.32ジェネリック バージョン ( ModuleWithProviders<T>) の使用を開始したため、@angular バージョン < 10 では動作しなくなりました。 に戻す必要がありますFlexLayout 9.0.0-beta.31

package.jsonで、を置き換えて"@angular/flex-layout": "^10.0.0-beta.32"再度"@angular/flex-layout": "~9.0.0-beta.31"実行しますnpm installあるいは単にnpm install @angular/[email protected]"

おすすめ記事