Angular 9 Ivy - Der generische Typ 'ɵɵFactoryDef' erfordert 2 Typargumente.


17

Sieht aus wie Angular Ivy noch nicht fertig. Ich versuche, mein Projekt mit Ivy zu erstellen, was die Hauptidee für Angular 9 ist. Viele Bibliotheken sind mit dieser Funktion nicht kompatibel. Eine dieser Bibliotheken ist @angular/flex-layout. Material und Servicemitarbeiter haben das gleiche Problem.

Nachdem ng build --prod --aot -c=productionich mein Projekt mit einem Skript erstellt hatte, bekam ich:

                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/core/typings/media-trigger/media-trigger.d.ts:71:18 - error TS2314: Generic type 'ɵɵFactoryDef' requires 2 type argument(s).

71     static ɵfac: ɵngcc0.ɵɵFactoryDef<MediaTrigger>;
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/extended/typings/show-hide/show-hide.d.ts:18:18 - error TS2314: Generic type 'ɵɵFactoryDef' requires 2 type argument(s).

18     static ɵfac: ɵngcc0.ɵɵFactoryDef<ShowHideStyleBuilder>;
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/extended/typings/show-hide/show-hide.d.ts:49:18 - error TS2314: Generic type 'ɵɵFactoryDef' requires 2 type argument(s).

49     static ɵfac: ɵngcc0.ɵɵFactoryDef<ShowHideDirective>;

Der Fehler war länger als das, was ich oben geschrieben habe. Ich nahm mir Zeit, um nach diesem Problem zu suchen. Es lag nichts auf dem Tisch, aber Efeu zu deaktivieren, was keine gute Option ist.

Antworten:


13

Glücklicherweise wurde Angular 9.1 veröffentlicht und das Problem behoben. Nach dem Upgrade auf 9.1 habe ich meine node_modules gelöscht und neu installiert. Dann habe ich mein Typoskript von 3.7.5auf aktualisiert 3.8.3. Jetzt funktioniert der ngcc einwandfrei und ich habe nach dem Erstellen keine Fehler.

Für weitere Informationen: Angular Version 9.1


Was ist Ihr vollständiger Befehl nach der Installation? ist es nur "postinstall":"ngcc"?
Harishr

@harishr Ja, es ist "ngcc". Wenn Sie ein Upgrade durchführen, verwenden Sie keinen Einstiegspunkt. Bleib einfach bei ngcc
Yazan Mehrez

Ich stehe immer noch vor dem Problem ... musste auf 9.0.5 zurückgreifen, um das Problem zu beheben
harishr

1
Ja, das habe ich getan ... Ich habe das Typoskript in allen anderen Paketen aktualisiert. hat node_modules gelöscht und alles neu installiert, aber immer noch genau den Fehler erhalten, den Sie in Ihrer Frage erwähnt haben. Muss ich den globalen Cache leeren?
Harishr

1
Ja, Node_Modules entfernt und npm cache verifyden Trick für mich gemacht
Mattijs
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.