programing

ng 빌드 중 호출 재시도 횟수가 예외를 초과했습니다.

jooyons 2023. 7. 24. 22:27
반응형

ng 빌드 중 호출 재시도 횟수가 예외를 초과했습니다.

나는 예외에 직면해 있습니다.ng build(차동 로드를 위한 ES5 번들 생성...)

An unhandled exception occured: Call retires were exceeded

사용된 버전:

  • Angular-CLI:8.3.20
  • 각도:8.2.7
  • 노드:12.12.1

로그에도 언급되어 있습니다.

[error] Error: Call retries were exceeded at ChildProcessWorker.initialize

2019년 2월 10일 업데이트

이것은 문제였습니다.@angular/cli버전 업데이트 중>= 8.3.22문제를 해결해야 합니다. #15에서 의견을 참조하십시오.

원래의

기본적으로 빌드 프로세스의 메모리가 부족합니다. 관련 Angular-cli 문제 #15493, #16515를 참조하십시오.

권장되는 해결 방법은 다음과 같습니다.

  • 노드를 최신 버전으로 업데이트합니다.12.14.0
  • 빌드 프로세스를 위해 메모리를 늘립니다.
    • 당신의package.json바꿔치기"build"스크립트 대상:node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build
    • 이 경우 메모리는 다음과 같이 증가합니다.4GB
      프로젝트의 규모에 따라 더 필요할 수 있습니다.

빠른 해결 방법으로 이전 버전의angular/cli그리고.build-angular:

"devDependencies": {
    "@angular-devkit/build-angular": "0.803.20",
    "@angular/cli": "8.3.20",

또 다른 해결 방법은 차등 로드(, ES5 번들 생성 생략)를 사용하지 않도록 설정하는 것입니다.그러면 빌드 프로세스에 필요한 메모리가 줄어들고 작동할 수 있습니다.

tsconfig.json 편집으로 문제가 해결되었습니다.

@angular-devkit/build-angular에서 차등 로드가 업데이트되었습니다.Ionic 프로젝트에서 이 문제를 해결하려면 tsconfig.json에서 목표값을 "es2015"에서 "es5"로 변경합니다.

자세한 내용은 - https://forum.ionicframework.com/t/ionic-cordova-build-get-stuck-at-generating-es5-bundles-for-differential-loading/180202/4

사용하다

node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build

저는 며칠 전에 비슷한 문제에 부딪혔습니다.

나는 Node v10을 사용하고 있었고 tsconfig.json에서 "target": "es5"로 변경하여 프로덕션 빌드 중에만 예외를 피할 수 있었습니다.이렇게 하면 차동 부하가 제거되어 바람직하지 않았습니다.

그러나 노드 v14로 업데이트한 후 더 이상 예외가 발생하지 않으며 "target": "es2015"를 다시 사용할 수 있습니다.

위에서 제안한 해결 방법은 저에게 효과가 있었지만 이제 Angular9 이상에 대해 테스트된 훨씬 더 우아한 솔루션이 있습니다.

더 이상 JS 힙 할당을 수동으로 처리할 필요가 없습니다.node --max_old_space_size=4096...), 우리들 대부분이 불편해 하는 것.

해결책은 다음과 같습니다."sideEffects": false당신의 소포로.json 파일.

저는 여기 Angular GitHub 공식 이슈 페이지에서 이 멋진 솔루션을 발견했고 저에게 원활하게 작동합니다.

저도 같은 문제에 직면했는데, Angular/cli 버전을 8.3.19로 변경하여 문제가 해결되었습니다.

이것은 앱을 각진 10으로 마이그레이션한 사람에게만 적용되며 메모리가 증가하는 것도 도움이 되지 않습니다.

패키지의 "typescript" 및 "@types/node"를 확인합니다.json은 https://www.npmjs.com/package/ @types/node에서 호환 여부를 확인합니다.

@angular-devkit/build-angular를 0.8XX.X 미만으로 다운그레이드하려고 합니다.

저는 이 문제를 해결하기 위해 며칠 동안(여러 번!) 모든 방법을 시도했습니다(서버에서 허용되는 RAM 메모리를 늘리지 않고). 왜냐하면 이미 최대 허용(공유 호스팅) 상태였기 때문입니다.아무 것도 효과가 없었어요, 다만 -

--log 레벨 상세 정보

저는 무엇이 문제를 일으키는지 알아보기 위해 그것을 사용하고 있었습니다.하지만 전체 로그를 실시간으로 보여주기 위해서는 많은 메모리가 필요한 것 같습니다.명령에서 이 명령을 제거한 후 모든 것이 첫 번째 시도부터 구축됩니다.

저의 경우 노드 버전을 업그레이드했습니다.

v10을 실행하고 있었습니다.v12.20.1로 업그레이드하여 빌드가 완료되었습니다.

노드 버전을 전환하는 데 노드 버전 관리자: nvm을 사용합니다.

반응형 네이티브의 경우 이것이 유용하다는 것을 알 수 있습니다.

npm  install --save-dev  escape-string-regexp

언급URL : https://stackoverflow.com/questions/59531305/call-retries-were-exceeded-exception-while-ng-build

반응형