во время компиляции в веб-пакете заканчивается память - PullRequest
0 голосов
/ 18 мая 2019

Здравствуйте, я пытаюсь скомпилировать мое приложениеact-js с помощью веб-пакета и этой команды:

"node_modules / .bin / cross-env NODE_ENV = производственный веб-пакет -p --config webpack.config.js"

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

Я получил эту ошибку:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

Есть ли способ выделить больше памяти?У меня 32 ГБ, что не должно быть проблемой

спасибо

1 Ответ

1 голос
/ 18 мая 2019

Для вашей системы установлено v8 ограничение кучи, которое вы можете узнать с помощью v8.getHeapStatistics в своем node ответе.

Скорее всего, вы превышаете heap_limit_size и одним из способов увеличения разрешенной памяти для процесса является добавление дополнительного флага V8: --max_old_space_size к вашему узлу при его вызове, чтобы он передавал флаг до V8 и увеличивал размер пула выделения памяти.Значение должно быть в мегабайтах.

Может идти примерно так:

node_modules/.bin/cross-env NODE_ENV=production node --max_old_space_size=8096 node_modules/.bin/webpack -p --config webpack.config.js

Вы можете экспериментировать в локальной среде разработчика с более высокими значениями памяти, но всегда удваиватьпроверьте возможное влияние значения на вашу производственную среду, для которой вы можете просто настроить отдельные значения памяти в отдельных npm сценариях.

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