Angular 9 Ivy-일반 유형 'typeFactoryDef'에는 2 개의 유형 인수가 필요합니다.


17

Angular Ivy가 아직 준비되지 않은 것 같습니다. Angular 9의 주요 아이디어 인 ivy를 사용하여 프로젝트를 빌드하려고합니다. 많은 라이브러리 가이 기능과 호환되지 않습니다.이 라이브러리 중 하나는@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가 제대로 작동하고 있으며 빌드 후 오류가 없습니다.

자세한 정보 : Angular Version 9.1


완전한 사후 설치 명령은 무엇입니까? 그것은 단지 "postinstall":"ngcc"??
harishr

@harishr 예 "ngcc"입니다. 업그레이드하는 경우 진입 점을 사용하지 마십시오. ngcc
Yazan Mehrez

나는 여전히 문제에 직면하고 있습니다 ... 문제를 해결하기 위해 9.0.5로 되돌려 야했습니다
harishr

1
그렇습니다, 나는 그것을 ... 나는 다른 모든 패키지에서 typescript를 업데이트했습니다. node_modules를 삭제하고 모든 것을 다시 설치했지만 여전히 질문에서 언급 한 것과 동일한 오류가 발생합니다. 글로벌 캐시를 지워야합니까?
5

1
예, node_modules를 제거하고 npm cache verify나를 위해 속임수
Mattijs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.