When I run an Ionic 3 project using the ionic serve command, then I am getting this error:
-
check this answer: stackoverflow.com/questions/38558989/node-js-heap-out-of-memory/…sidverma– sidverma2021-04-02 06:42:48 +00:00Commented Apr 2, 2021 at 6:42
-
Does this answer your question? Node.js heap out of memoryuser16540390– user165403902024-04-19 18:14:48 +00:00Commented Apr 19, 2024 at 18:14
51 Answers
For a non-Angular general answer for those who land on this question from Google:
Most times when you face this error it’s probably because of a memory leak, an addition/version upgrade of a library or a difference in how Node.js manages memory between versions (e.g. Node.js version <= 10 and Node.js version > 10).
Usually just increasing the memory allocated to Node.js will allow your program to run but may not actually solve the real problem and the memory used by the node process could still exceed the new memory you allocate. I'd advise profiling memory usage in your Node.js process when it starts running or updating to Node.js > 10.
I had a memory leak. Here is a great article on debugging memory leaks in Node.js.
That said, to increase the memory, in the terminal where you run your Node.js process:
export NODE_OPTIONS="--max-old-space-size=8192"
Or for Windows:
Set NODE_OPTIONS="--max-old-space-size=8192"
where values of max-old-space-size can be: [2048, 4096, 8192, 16384] etc
More examples for further clarity:
export NODE_OPTIONS="--max-old-space-size=5120" # Increase to 5 GB
export NODE_OPTIONS="--max-old-space-size=6144" # Increase to 6 GB
export NODE_OPTIONS="--max-old-space-size=7168" # Increase to 7 GB
export NODE_OPTIONS="--max-old-space-size=8192" # Increase to 8 GB
# and so on...
# formula:
export NODE_OPTIONS="--max-old-space-size=(X * 1024)" # Increase to X GB
# Note: it doesn't have to be multiples of 1024.
# max-old-space-size can be any number of memory megabytes (MB) you have available.
See the current value of max-old-space-size (in MB)
To see the current (not exact but very close) value of max-old-space-size (in MB), run in your terminal
node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
13 Comments
next.js began crashing our app with the fast refresh feature.integer * 1024.Just type this in the terminal:
export NODE_OPTIONS="--max-old-space-size=8192"
The error occurs when you exceed the default maximum memory allowed for Node.js. All this does is increase the maximum memory allowed.
2 Comments
In my case, I fixed this problem by installing Node.js, version 12.10.0.
7 Comments
I had the same issue on CentOS server 7, but this solved my problem:
node --max-old-space-size=X node_modules/@angular/cli/bin/ng build --prod
Where X = (2048 or 4096 or 8192 o..) is the value of memory.
5 Comments
ng serve and a massive .js file referenced in the scripts section of angular.json that needed to be loaded into memory.I got the same error when I execute ng build command in Visual Studio Code. But I can build successfully when I execute the same thing on the Windows command line in the following sequence.
Step 1.
set NODE_OPTIONS=--max_old_space_size=4096
Step 2.
ng build
3 Comments
/Users/MY_USER/.nvm/versions/node/v10.13.0/lib/node_modules/npm/bin/npm.cmd it works fineWindows
From the control panel go to System → Advanced system settings → Environment Variables → New (user or system)
Or this can be done in PowerShell with:
$env:NODE_OPTIONS="--max-old-space-size=8192"
You can also increase this number, if necessary. We've seen folks need to increase this up to 14 GB for some larger projects!
Linux/macOS
export NODE_OPTIONS=--max-old-space-size=8192
7 Comments
max-old-space-size=8192 without leading dashes in the System Settings. With -- I got Fatal javascript OOM in GC during deserialization error in Node.js. But probably it is related to the latest versions only.Try this solution which was pointed out in an old message on the forum: 3.7.0: iOS build with --prod not working
Open node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js
Change the first line from:
#!/usr/bin/env node
to
#!/usr/bin/env node --max-old-space-size=4096
Try values 1024 and 2048, but for a relatively large app you may need 4096.
2 Comments
In my case it was a recursion that was causing React to use up all memory.
This happened when I was refactoring my code and didn't notice this.
const SumComponent = () => {
return (
<>
<SumComponent />
</>
)
}
In other Node.js applications this might look like:
const someFunction = () => {
...
someFunction();
...
}
3 Comments
SumComponent contains a SumComponent (which contains a SumComponent which contains a SumComponent... )I got the same error message when I executed the following statements in Visual Studio Code. But I can build successfully when I execute the same thing in on the Windows command line.
npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap
1 Comment
Updating from Node.js 12 to Node.js 14 solved the problem for me.
Update
Now Node.js 16 is available, and I recommend updating to the latest available version of Node.js.
1 Comment
16.4.2 with Angular 11 fixed it for me.- export NODE_OPTIONS="--max-old-space-size=6144" #it will increase to 6gb.
- If Not Solved try this 2nd step
- Just update your node version to the latest one will solve this issue.
- If Not Solved try this 3rd step
3)Just run this command in your windows terminal.
set NODE_OPTIONS=--max_old_space_size=4096
Comments
node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --baseHref=/baseUrl/ --prod=true
1 Comment
For some reasons all the previous answers didn't really work for me. I did the following to fix my issue:
- I had to first delete the
node_modulesfolder - reinstall Node.js on my PC and
- then
npm install
2 Comments
Adding parameter --build-optimizer resolved the issue in my case:
node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --prod --build-optimizer
I am not sure why adding only --build-optimizer solves the issue, but as per the Angular documentation it should be used with ahead-of-time (AOT) compilation enabled, so the updated command should be like below:
--build-optimizer=true --aot=true
Comments
Replace the line
"start": "ng serve -o --port 4300 --configuration=en" with
"start": "node --max_old_space_size=5096 node_modules/@angular/cli/bin/ng serve -o --port 4300 --configuration=en"
NOTE:
port--4300 is not constant depends upon which port you selects.
--max_old_space_size=5096 too not constant; any value 1024,2048,4096 etc
1 Comment
NODE_OPTIONS from the command line didn't work, I'm guessing because Visual Studio uses a new process or something. Hard coding the change into my package.json scripts block solved it.For me, I had a syntax error (which didn't show up) and caused this error.
2 Comments
import { async } from '../../../../public/js/app' in my code for some reason. You just saved me some good hours!I faced the same problem on Angular. Then I wrote
"serve": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng serve"
this script to package.json scripts and for me this problem solved.
And run project this command:
npm run serve
2 Comments
npm run serve - @PeterSmithRun this command:
export NODE_OPTIONS="--max-old-space-size=2048"
To check how much you have already:
> node
> v8.getHeapStatistics()
{
total_heap_size: 6049792,
total_heap_size_executable: 524288,
total_physical_size: 5477720,
total_available_size: 1094444024,
used_heap_size: 4141728,
heap_size_limit: 1098907648,
malloced_memory: 8192,
peak_malloced_memory: 582752,
does_zap_garbage: 0,
number_of_native_contexts: 2,
number_of_detached_contexts: 0
}
and then heap_size_limit: 1098907648
Comments
Instead of using ng build, I have executed below command in terminal to fix this issue.
node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod
Then do ng serve.
This is how my terminal look like
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS D:\ProjectPath\Project1> node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod
1 Comment
--prod is now deprecated, use --configuration production insteadHappened to me after Upgrading react and react-native libraries.
Solved by:
rm -rf node_modules **/node_modules && rm -rf yarn.lock **/yarn.lock && yarn cache clean && yarn install
1 Comment
I deleted the existing Node.js module and ran the below commands to fix my issue:
npm install -all
npm audit fix
1 Comment
For me, the issue was having an extra node_modules folder that I renamed to node_modules_old and running an npm install to generate a fresh node_modules. Somehow the build must have still been picking up the node_modules_old folder, so I moved node_modules_old out of the directory to fix the issue.
1 Comment
node_modules.old folder when testing a different set of packages earlier.For me it was a problem with a Firebase package.
Only add "@firebase/database": "0.2.1" for your package.json file. Reinstall node_modules and it works.
1 Comment
Please check your Node.js version:
node -v
If it’s 10.1.1 something, then you need to update your root level Node.js version via the below commands:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
source ~/.nvm/nvm.sh
nvm ls
nvm install 12.18.1
Once done, please restart your terminal or Visual Studio.
It's working 100$.
For Ionic users, please add the below code in your package.json
"ionic:build": "node --max-old-space-size=16384 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build",
1 Comment
app-scripts, but if you build android or script like ionic cordova build android how?Another non-Angular answer (I was facing the same issue building a React application on AWS Amplify).
As mentioned by Emmanuel, it seems that it comes from the difference in the way memory is handled by Node.js v10 vs. Node.js v12.
I tried to increase memory with no avail. But using Node.js v12 did it.
Check how you can add nvm use $VERSION_NODE_12 to your build settings as explained by richard
frontend: phases: preBuild: commands: - nvm use $VERSION_NODE_12 - npm ci build: commands: - nvm use $VERSION_NODE_12 - node -v - npm run-script build
Comments
If you are developing on Windows and running into this issue while publishing, upgrade Node.js through the official site.
The memory usage handling does increase with each newer version of Node.js, although I did not find exact numbers on what the increase is.
That was the only solution that worked for me. It took a whole weekend and more for me to solve this issue.
Comments
I am using the latest stable version of Node.js v-14.17. I was having the same issue with new Angular Ionic projects and tried most of the previous answers without success.
Finally after upgrading to Node.js 16.4.2 LTS, it fixed this issue.


