Превышены попытки повторения вызова во время сборки 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
12 ответов
Обновление 10.02.2019
Это была проблема @angular/cli
. Обновление версии до>= 8.3.22
должен исправить проблему: см. этот комментарий в #16515
ОРИГИНАЛ
В основном в процессе сборки не хватает памяти: см. Связанные проблемы 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, измените целевое значение с "es2015" на "es5" в вашем tsconfig.json.
Для получения дополнительной информации:- https://forum.ionicframework.com/t/ionic-cordova-build-get-stuck-at-generating-es5-bundles-for-differential-loading/180202/4
Использовать
узел --max_old_space_size=6144 ./node_modules/@angular/cli/bin/ng build
Я столкнулся с подобной проблемой несколько дней назад.
Я использовал Node v10 и смог избежать исключений только во время производственной сборки, изменив значение "target": "es5" в tsconfig.json. Это сняло дифференциальную нагрузку, которая была нежелательной.
Однако после обновления до Node v14 я больше не получаю исключения и могу снова использовать "target": "es2015".
Предложенные выше обходные пути сработали для меня, но теперь есть гораздо более элегантное решение, протестированное для Angular9 и выше.
Больше не нужно возиться вручную с выделением кучи JS (node --max_old_space_size=4096
...), что не нравится большинству из нас.
Решение - просто добавить
"sideEffects": false
в ваш файл package.json.
Я нашел это замечательное решение на официальной странице проблем с Angular GitHub здесь, и оно отлично работает для меня.
Я также столкнулся с той же проблемой, изменив версию angular/cli на 8.3.19, проблема была решена.
Я буквально несколько дней пробовал все (несколько!), чтобы решить эту проблему (не увеличивая разрешенную оперативную память на сервере, потому что я уже был на максимально разрешенном (виртуальный хостинг)). Ничего не помогло, кроме -
--loglevel подробный
Я использовал его, чтобы увидеть, что вызывает проблемы. Но кажется, что для отображения полного журнала в режиме реального времени требуется много памяти. После удаления этого из моих команд все собирается с первой попытки.
Убедитесь, что вы не используете более старую версию Node.
nvm use 16
или более поздняя версия работает для меня!
Я использую Angular 10.05
и у меня была такая же проблема
Вы можете запустить npm run build
вместо того ng build
У меня он работал без каких-либо изменений, таких как обновление Angular/CLI и т. Д.
Это применимо только для тех, кто перенес свое приложение на angular 10, и увеличение памяти также не помогает.
проверьте свой "typescript" и "@ types / node" в package.json, проверьте, совместимы ли они или нет, в https://www.npmjs.com/package/@types/node
попробуйте понизить версию @angular-devkit / build-angular ниже 0.8XX.X
For react-natives, you can find this helpful.
thank me later
npm install --save-dev escape-string-regexp
В моем случае я обновил версию node.
У меня была версия 10.*, Я обновился до версии 12.20.1, и сборка была завершена.
Я использую Node Version Manager: nvm для переключения версий узла.