Продолжайте получать «кучу JavaScript из памяти» в Digital Ocean под управлением Ubuntu 20.04 (LTS) x64 MERN Stack Next.js

#node.js #npm #next.js #digital-ocean #mern

#node.js #нпм #next.js #цифровой-океан #мерн

Вопрос:

Поэтому я внес некоторые изменения в свой Next.js сайт в цифровом океане, и я пытаюсь запустить sudo npm запустить сборку, чтобы построить его, но я продолжаю получать эту ошибку:

 [230305:0x4a81f70] 83420 ms: Mark-sweep 485.9 (491.2) -gt; 485.7 (492.2) MB, 4015.7 / 1.8 ms (average mu = 0.099, current mu = 0.009) allocation failure scavenge might not succeed [230305:0x4a81f70] 87013 ms: Mark-sweep 486.6 (492.2) -gt; 486.4 (492.7) MB, 3574.2 / 11.8 ms (average mu = 0.051, current mu = 0.004) allocation failure scavenge might not succeed   lt;--- JS stacktrace ---gt;  ==== JS stack trace =========================================   0: ExitFrame [pc: 0x140dc19]  1: StubFrame [pc: 0x140eaed] Security context: 0x3b4afa0408d1 lt;JSObjectgt;  2: /* anonymous */(aka /* anonymous */) [0x2c959140c6c9] [/home/Dylancougar/massnow-frontend/node_modules/next/dist/compiled/terser/bundle.min.js:~1] [pc=0x1f71ab556e46](this=0x0eeca6ec04b1 lt;undefinedgt;)  3: /* anonymous */(aka /* anonymous */) [0x2c959140c749] [/home/Dylancougar/massnow-frontend/node_modules/next/dist/compi...  FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory  1: 0xa1a640 node::Abort() [node]  2: 0xa1aa4c node::OnFatalError(char const*, char const*) [node]  3: 0xb9a62e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]  4: 0xb9a9a9 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]  5: 0xd57c25 [node]  6: 0xd582b6 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [node]  7: 0xd64b75 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]  8: 0xd65a25 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]  9: 0xd684dc v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node] 10: 0xd2eefb v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node] 11: 0x10714ce v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node] 12: 0x140dc19 [node] Aborted (core dumped) npm ERR! code ELIFECYCLE npm ERR! errno 134 npm ERR! frontend@1.0.0 build: `next build` npm ERR! Exit status 134 npm ERR! npm ERR! Failed at the frontend@1.0.0 build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.  npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-11-30T01_18_08_999Z-debug.log  

Некоторые из шагов, которые я предпринял в отношении решения этой проблемы, заключались в удалении пакета.заблокируйте файл и папку node_modules и переустановите эту папку. Я попытался увеличить объем памяти в терминале. Я попытался увеличить его до 8 ГБ export NODE_OPTIONS="--max-old-space-size=8192" . Я могу запустить npm run build на своем компьютере без проблем, и на прошлой неделе у меня не было никаких проблем с этим сценарием на моей цифровой океанской капле.

Проблема появилась, казалось бы, вчера как гром среди ясного неба. Это то, что я получаю при просмотре файла журнала:

 0 info it worked if it ends with ok 1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'build' ] 2 info using npm@6.14.15 3 info using node@v12.22.7 4 verbose run-script [ 'prebuild', 'build', 'postbuild' ] 5 info lifecycle frontend@1.0.0~prebuild: frontend@1.0.0 6 info lifecycle frontend@1.0.0~build: frontend@1.0.0 7 verbose lifecycle frontend@1.0.0~build: unsafe-perm in lifecycle true 8 verbose lifecycle frontend@1.0.0~build: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/Dylancougar/massnow-frontend/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin 9 verbose lifecycle frontend@1.0.0~build: CWD: /home/Dylancougar/massnow-frontend 10 silly lifecycle frontend@1.0.0~build: Args: [ '-c', 'next build' ] 11 silly lifecycle frontend@1.0.0~build: Returned: code: 134 signal: null 12 info lifecycle frontend@1.0.0~build: Failed to exec build script 13 verbose stack Error: frontend@1.0.0 build: `next build` 13 verbose stack Exit status 134 13 verbose stack at EventEmitter.lt;anonymousgt; (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16) 13 verbose stack at EventEmitter.emit (events.js:314:20) 13 verbose stack at ChildProcess.lt;anonymousgt; (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:314:20) 13 verbose stack at maybeClose (internal/child_process.js:1022:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5) 14 verbose pkgid frontend@1.0.0 15 verbose cwd /home/Dylancougar/massnow-frontend 16 verbose Linux 5.4.0-88-generic 17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "build" 18 verbose node v12.22.7 19 verbose npm v6.14.15 20 error code ELIFECYCLE 21 error errno 134 22 error frontend@1.0.0 build: `next build` 22 error Exit status 134 23 error Failed at the frontend@1.0.0 build script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 134, true ]  

И версия узла, которую я использую в Digital Ocean, — v12.22.7. Может ли кто-нибудь знать какие-либо другие шаги, которые я могу попробовать?

Комментарии:

1. сколько памяти вы выделили в своей цифровой океанской капле? или вы используете приложение Digital Ocean?

2. На моей панели управления Droplet написано, что у меня 1 ГБ памяти / 25 ГБ диска. Я использовал команду export NODE_OPTIONS=»—max-old-space-size=8192″, чтобы попытаться выделить больше места, но все та же ошибка