FATAL ERROR: CALL_AND_RETRY_LAST Распределение не удалось - ошибка кучи JavaScript в памяти - PullRequest
0 голосов
/ 31 мая 2018

Я получаю эту ошибку, когда я запускаю ng build --prod

92% оптимизация ресурсов чанка <--- Последние несколько GC --->

[4136: 0155D210] 443646 мс: развертка пометки 703,5 (770,3) -> 703,6 (759,8) МБ, 2162,2 / 0,0 мс (+ 0,0 мс за 0 шагов с начала маркировки, самый большой шаг 0,0 мс, время ожидания с началаотмечая 2163 мс) GC последней инстанции в старом запрошенном месте [4136: 0155D210] 445794 мс: развертка отметки 703,6 (759,8) -> 703,5 (759,8) МБ, 2147,8 / 0,0 мс GC последней инстанции в запрошенной старой области

<--- трассировка стека JS --->

==== трассировка стека JS ========================================

Контекст безопасности: 0369632D 1: создать (это = 036856A9) 2: _walk [034841A1: ~ 764] [pc = 1CCAED1F] (это =3A11A619, посетитель = 3BCEFD7D) 3: / * анонимный * / [034841A1: ~ 969] [pc = 1D3728E3] (this = 3A11BCBD) 4: _walk [034841A1: ~ 968] [pc = 1CCC1F3B] (this = 3A11BCBD

ФАТАЛЬНАЯ ОШИБКА: CALL_AND_RETRY_LAST Распределение не выполнено - кучи JavaScript не хватает памяти 1: node_module_register 2: v8 ::internal :: Factory :: NewStruct 3: v8 :: internal :: Factory :: NewPrototypeInfo

Я попробовал все.Я сократил использование переменных, проверил наличие утечек памяти и сделал очень меньше обратных вызовов в файле ts.

Я не могу понять, как это сделать.Я попытался увеличить память узла с помощью 'npm i увеличьте-лимит памяти' и увеличил предел до 2GB .

Im, используя угловой 4.Версия узла 8.9.4

Ответы [ 3 ]

0 голосов
/ 31 мая 2018

Попробуйте перейти к yourproject / node_modules и выполнить следующую команду:

node --max_old_space_size=5048 "%~dp0\..\@angular\cli\bin\ng" build --aot --prod

И если вы хотите сделать свою жизнь проще, вы можете вставить это в свой файл package.json:

"scripts": {
   "build-prod": "node --max_old_space_size=5048 ./node_modules/@angular/cli/bin/ng build --prod"
}

Теперь все, что вам нужно сделать, это запустить npm run build-prod.

0 голосов
/ 31 мая 2018

Возможно, вы захотите посмотреть, как increase-memory-limit увеличивает размер кучи под капотом.

Обычный способ выглядит следующим образом:

node --max-old-space-size=8192 server.js  

Если это каким-то образом модифицирует ng build команда, вы можете попытаться увеличить лимит еще.

0 голосов
/ 31 мая 2018

У меня была такая же проблема, когда я создавал приложение JS, и оказалось, что есть предел памяти, которую может использовать модуль узла.

, просто использование этого пакета npm решило ее для меня: https://www.npmjs.com/package/increase-memory-limit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...