npm build gives "Ineffective mark-compacts near heap limit Allocation failed"
Solution 1
I had a similar issue, although on a Mac computer. Setting an environment variable did the trick for me. That way, your node process will take the value and use it independently of which script you're running.
export NODE_OPTIONS=--max_old_space_size=4096
The run your command again. Good Luck!
Solution 2
The solution which I used was to upgrade the node js version from v10 to v12.
The command export NODE_OPTIONS=--max_old_space_size=4096
works but has limitations, e.g. you should have ample memory on your machine to run the production build.
Solution 3
I had the same issue on Windows. The solution was to set the NODE_OPTIONS variable before running npm run build. To set this variable, simply run set NODE_OPTIONS=--max_old_space_size=8192
Solution 4
I got a fix after increasing the node max_old_space. Here is the fix.
Instead of running npm start or ng start. Run the below command
node --max_old_space_size=8048 ./node_modules/@angular/cli/bin/ng serve
OR
You can add the command in package.json
file as well
"start": "node --max_old_space_size=8048 ./node_modules/@angular/cli/bin/ng serve"
Solution 5
I don't think that the solution is to increase memory limit. This way the issue is always postponed.
I've encounter this issue 2 times. I've solved, for each time:
- using a specific version of
node
(v12.11.1
,react v16.13.1
andreact-scripts v3.2.0
); - switching from
npm
toyarn
(node v12.11.1
,react v16.13.1
andreact-scripts v3.4.1
).
In addition, check your package.json
, delete package-lock.json
, remove node-modules
folder and try to install your dependencies again.
Next try to build your project.
Cowborg
Updated on December 03, 2021Comments
-
Cowborg over 2 years
I have a reactjs/typescript project, running on windows 10. Im trying to build by ts-scripts with
"rimraf ../wwwroot/* && react-scripts-ts build && copyfiles ./build/**/* ../wwwroot/ -u 1
This has worked ok before, but when I removed the node_modules-folder, re-run the npm install-command and then the command above I get the error message
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
I have no idea why. After googling Ive seen
NODE_OPTIONS="–max-old-space-size=2048" but I dont know where to put this
Full error message
Last few GCs
[11376:0000024682F49880] 60039 ms: Mark-sweep 2034.1 (2085.2) -> 2033.7 (2085.2) MB, 1029.4 / 0.0 ms (average mu = 0.073, current mu = 0.006) allocation failure scavenge might not succeed [11376:0000024682F49880] 61094 ms: Mark-sweep 2034.4 (2085.2) -> 2034.1 (2085.7) MB, 1047.7 / 0.0 ms (average mu = 0.039, current mu = 0.007) allocation failure scavenge might not succeed JS stacktrace ==== JS stack trace ========================================= 0: ExitFrame [pc: 000001CDF84DC5C1] Security context: 0x007044b9e6e1 <JSObject> 1: bindChildrenWorker(aka bindChildrenWorker) [000001AD1C0ACD59] [C:\Users\robcar\source\repos\Boost\Boost.Web\ClientApp\node_modules\typescript\lib\typescript.js:~27657] [pc=000001CDF8FA47CA](this=0x03da79d826f1 <undefined>,node=0x034b8724ab71 <NodeObject map = 000000660468F931>) 2: bind(aka bind) [000001AD1C0AE2D9] [C:\Users\robcar\source\repos\B... FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 1: 00007FF6B5EA121A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4810 2: 00007FF6B5E7A5B6 node::MakeCallback+4518 3: 00007FF6B5E7AFA0 node_module_register+2160 4: 00007FF6B610B3EE v8::internal::FatalProcessOutOfMemory+846 5: 00007FF6B610B31F v8::internal::FatalProcessOutOfMemory+639 6: 00007FF6B6649304 v8::internal::Heap::MaxHeapGrowingFactor+11476 7: 00007FF6B663FA67 v8::internal::ScavengeJob::operator=+25543 8: 00007FF6B663DFDC v8::internal::ScavengeJob::operator=+18748 9: 00007FF6B6646F57 v8::internal::Heap::MaxHeapGrowingFactor+2343 10: 00007FF6B6646FD6 v8::internal::Heap::MaxHeapGrowingFactor+2470 11: 00007FF6B61E9DD7 v8::internal::Factory::NewFillerObject+55 12: 00007FF6B6281ABA v8::internal::WasmJs::Install+29530 13: 000001CDF84DC5C1