Angular 9 Ivy - Загальний тип ''FactoryDef' вимагає аргументів 2-х типів


17

Схоже, Angular Ivy ще не готовий. Я намагаюся створити свій проект за допомогою плюща, який є основною ідеєю для Angular 9. Багато бібліотек не сумісні з цією функцією, одна з цих бібліотек є @angular/flex-layout. Матеріальні та сервісні працівники мають таку ж проблему.

Після використання ng build --prod --aot -c=productionсценарію для створення мого проекту я отримав:

                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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>;

Помилка довше, ніж я писав вище, я витратив свій час, щоб добре розібратися в цьому питанні, нічого на столі, але відключення плюща, що не є хорошим варіантом.

Відповіді:


13

На щастя, Angular 9.1 був випущений і проблема вирішена. Після оновлення до 9.1 я видалив свої node_modules і знову встановив його. Потім я оновив свій машинопис з 3.7.5до 3.8.3. Тепер ngcc працює нормально, і у мене немає помилок після побудови.

Для отримання додаткової інформації: Кутова версія 9.1


яка ваша повна команда після встановлення? це тільки "postinstall":"ngcc"??
harishr

@harishr Так, це "ngcc", Якщо ви оновлюєте, не використовуйте точку входу. Просто залишайтеся з ngcc
Yazan Mehrez

Я все ще стикаюся з проблемою ... довелося повернутися до 9.0.5 для вирішення проблеми
harishr

1
так, я це зробив ... я оновив машинопис n всіх інших пакетів. видалили node_modules і перевстановили все, але все одно отримали абсолютно ту саму помилку, яку ви згадали у своєму запитанні. Чи потрібно очищати глобальний кеш?
harishr

1
Так, видалили node_modules і npm cache verifyзробили для мене хитрість
Mattijs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.