Что вызывает это исключение webpack из-за нехватки памяти?

#javascript #webpack #out-of-memory #npm-run

#javascript #webpack #нехватка памяти #npm-run

Вопрос:

При сборке моего проекта typescript, т. Е. я запускаю npm run build , и скрипт выглядит как "build": "webpack" , я получаю приведенную ниже ошибку.

Он жалуется на нехватку памяти, хотя vscode потребляет всего около 2 ГБ оперативной памяти, и у меня все еще много (10 ГБ) осталось.

Есть идеи, что может быть причиной этого? Очистка node_modules или установка других версий webpack не помогли. Я также гуглил уже целый день…

 0: ExitFrame [pc: 00000059E33DC5C1]
Security context: 0x00aa77a1e6e1 <JSObject>
    1: getIntersectionType(aka getIntersectionType) [0000005345B7BA31] [<...>node_modulestypescriptlibtypescript.js:~37293] [pc=00000059E43C3A49](this=0x017ebc8026f1 <undefined>,types=0x0276c2202699 <JSArray[5]>,aliasSymbol=0x017ebc8026f1 <undefined>,aliasTypeArguments=0x017ebc8026f1 <undefined>)
    2: arguments adaptor frame: 1->3
...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 00007FF6024B08AA v8::internal::GCIdleTimeHandler::GCIdleTimeHandler 4810
 2: 00007FF602489C46 node::MakeCallback 4518
 3: 00007FF60248A630 node_module_register 2160
 4: 00007FF60271AA4E v8::internal::FatalProcessOutOfMemory 846
 5: 00007FF60271A97F v8::internal::FatalProcessOutOfMemory 639
 6: 00007FF602C58984 v8::internal::Heap::MaxHeapGrowingFactor 11476
 7: 00007FF602C4F0E7 v8::internal::ScavengeJob::operator= 25543
 8: 00007FF602C4D65C v8::internal::ScavengeJob::operator= 18748
 9: 00007FF602C565D7 v8::internal::Heap::MaxHeapGrowingFactor 2343
10: 00007FF602C56656 v8::internal::Heap::MaxHeapGrowingFactor 2470
11: 00007FF6027F9457 v8::internal::Factory::NewFillerObject 55
12: 00007FF60289113A v8::internal::WasmJs::Install 29530
13: 00000059E33DC5C1
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR! <project name> build: `webpack`
npm ERR! Exit status 134
  

Ответ №1:

Оказалось, что одна из зависимостей зависит от более высокой версии typescript, чем та, на которую я ссылался (в моем случае 3.3.3333 , тогда как я ссылался 3.0.3 ).

Когда я обновил зависимость typescript в своем package.json , ошибка исчезла, и я смог выполнить сборку снова.