Angular 9 Ivy - O tipo genérico 'ɵɵFactoryDef' requer 2 argumento (s) do tipo


17

Parece que Angular Ivy ainda não está pronta. Estou tentando criar meu projeto usando o ivy, que é a principal idéia do Angular 9. Muitas bibliotecas não são compatíveis com esse recurso, uma delas é @angular/flex-layout. O material e o trabalhador de serviço também têm o mesmo problema.

Depois de usar o ng build --prod --aot -c=productionscript para construir meu projeto, obtive:

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

O erro mais longo do que o que escrevi acima, levei um tempo para fazer uma boa pesquisa para esse problema, nada na mesa além de desativar a ivy, o que não é uma boa opção.

Respostas:


13

Felizmente, o Angular 9.1 foi lançado e o problema resolvido. Após a atualização para a 9.1, excluí meu node_modules e reinstale-o novamente. Depois atualizei meu texto datilografado de 3.7.5para 3.8.3. Agora o ngcc está funcionando bem e não tenho erros após a compilação.

Para mais informações: Versão Angular 9.1


qual é o seu comando postinstall completo? é só "postinstall":"ngcc"??
harishr 30/03

@harishr Sim, é "ngcc". Se você estiver atualizando, não use o ponto de entrada. Basta ficar com ngcc
Yazan Mehrez 30/03

Ainda estou enfrentando o problema ... tive que reverter para 9.0.5 para resolver o problema
harishr 30/03

11
sim, eu fiz isso ... eu atualizei o typescript em todos os outros pacotes. excluiu node_modules e reinstalou tudo, mas ainda está recebendo exatamente o mesmo erro que você mencionou na sua pergunta. Preciso limpar o cache global?
harishr 31/03

11
Sim, removendo node_modules e npm cache verifyfez o truque para mim
Mattijs
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.