Повторные попытки вызова были превышены, исключение при сборке ng

Я столкнулся с исключением, когда ng build (создание пакетов ES5 для дифференциальной загрузки...)

An unhandled exception occured: Call retires were exceeded

Используемые версии:

  • Угловой интерфейс командной строки: 8.3.20
  • Угловой: 8.2.7
  • Узел: 12.12.1

Также в логах упоминается

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

person Savan Gadhiya    schedule 30.12.2019    source источник
comment
В tsconfig.app.json, если у вас есть target: es2015, измените его на target: es5   -  person TintinSansYeux    schedule 30.12.2019
comment
@MsuArven да! переход с es2015 на es5 у меня сработал.   -  person Savan Gadhiya    schedule 30.12.2019
comment
@Angular Не могли бы вы рассказать, почему es2015 вызывал это исключение?   -  person Savan Gadhiya    schedule 31.12.2019
comment
Это сработало для меня. Я просто удалил node_modules/ и переустановил.   -  person Schmorrison    schedule 05.04.2020
comment
это действительно работает, просто удалите node_modules и установите снова, все работает нормально   -  person vishal sharma    schedule 25.06.2020
comment
@TintinSansYeux, если мы хотим использовать дифференциальную загрузку, мы должны установить цель на es2015.   -  person hosein    schedule 13.07.2020


Ответы (8)


Обновление 10.02.2019

Это была проблема @angular/cli. Обновление версии до >= 8.3.22 должно решить проблему: см. этот комментарий в #16515< /а>

ОРИГИНАЛ

В основном процессу сборки не хватает памяти: см. связанные с angular-cli проблемы #15493, #16515

Рекомендуемое средство:

  • обновить узел до последней версии, например. 12.14.0
  • increase the memory for the build process:
    • in your package.json change the "build" script to: 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), если вы хочу это. Тогда процессу сборки потребуется меньше памяти и он может работать.

person TmTron    schedule 01.01.2020
comment
node --max_old_space_size=4096 у меня не сработало. С 8гб все заработало. - person Jonas Marty; 07.01.2020
comment
Я столкнулся с той же проблемой, и она исправлена ​​​​с помощью вышеуказанной команды - node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build - person purnima kamble; 11.02.2020
comment
у меня сработало только отключение differential loading :( - person Obay Abd-Algader; 06.07.2020
comment
У меня есть Angular CLI: 9.1.12, и это происходит и со мной. Я создаю ионное приложение. @TmTron, что бы вы посоветовали в этом случае? - person D.Hodges; 28.09.2020
comment
@D.Hodges Я предлагаю вам опубликовать новый вопрос и добавить ионный тег. - person TmTron; 28.09.2020
comment
Это может помочь, если вы удалите совместимость со старыми браузерами angular.io/guide/deployment# Differential-loading< /а> - person nelson6e65; 03.10.2020
comment
изменен на 2048 на моем экземпляре AWS с 2 ГБ ОЗУ — работает! - person Serhii Topolnytskyi; 26.10.2020
comment
Это как-то связано с созданием приложения с помощью es2015. Использование старой цели es5 сработало на моей стороне - person Zdravko Kolev; 18.05.2021

Для меня редактирование tsconfig.json решило мою проблему.

В @angular-devkit/build-angular было внесено изменение, которое обновило дифференциальную загрузку. Чтобы исправить это в проекте Ionic, измените значение target с "es2015" на "es5" в файле tsconfig.json.

Для получения дополнительной информации: - https://forum.ionicframework.com/t/ionic-cordova-build-get-stuck-at-generating-es5-bundles-for-дифференциальная-загрузка/180202/4

person Aravindh Gopi    schedule 04.01.2020
comment
Спасибо, Аравинд, это решило и мою проблему. - person Arshad; 27.07.2020
comment
Но мне нужен es2015, потому что es5 не подходит для @angular/fire 6.0.3 и других. github.com/angular/angularfire/issues/2521 - person nelson6e65; 03.10.2020
comment
Это не решение, а просто хак/патч, который будет иметь другие негативные побочные эффекты. - person Richard; 28.04.2021

Использовать

node --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build
person Kundan Zalte    schedule 06.04.2021
comment
Это работает, как я очаровываю. Для любого другого новичка, такого как я, вы замените свою команду сборки в package.json этой. - person Suyog; 24.05.2021

Я столкнулся с похожей проблемой несколько дней назад.

Я использовал Node v10 и мог избежать исключений во время производственной сборки, только изменив цель: es5 в tsconfig.json. Это убрало дифференциальную нагрузку, что было нежелательно.

Однако после обновления до Node v14 я больше не получаю исключений и снова могу использовать target: es2015.

person Peder    schedule 06.04.2021

Я также столкнулся с той же проблемой, изменив версию angular/cli на 8.3.19, проблема была решена.

person john.zhang    schedule 03.01.2020

Предложенные выше обходные пути действительно сработали для меня, но теперь есть гораздо более элегантное решение, протестированное для Angular9 и выше.

Больше не нужно возиться вручную с выделением кучи JS (node --max_old_space_size=4096...), что большинству из нас не нравится.

Решение состоит в том, чтобы просто добавить "sideEffects": false в ваш файл package.json.

Я нашел это замечательное решение на официальной странице проблем Angular GitHub здесь а у меня работает без проблем.

person Marc    schedule 07.10.2020

Это применимо только для тех, кто перенес свое приложение на angular 10, и увеличение памяти также не помогает.

проверьте свой typescript и @types/node в package.json проверьте, совместимы ли они или нет в https://www.npmjs.com/package/@types/node

попробуйте понизить @angular-devkit/build-angular ниже 0.8XX.X

person Atul Sharma    schedule 05.05.2021

В моем случае я обновил версию node.

У меня была версия 10.*, я обновился до версии 12.20.1, и сборка была завершена.

Я использую Node Version Manager: nvm для переключения версий node.

person August    schedule 06.07.2021