Maximum call stack size exceeded on npm install
Javascriptnode.jsNpmJavascript Problem Overview
I'm trying to run npm install
, this is output from console:
npm ERR! Linux 4.8.0-27-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! Maximum call stack size exceeded
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
and this is content of npm-debug.log
:
113791 verbose stack RangeError: Maximum call stack size exceeded
113791 verbose stack at Object.color (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings/index.js:115:32)
113791 verbose stack at EventEmitter.log._format (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:252:51)
113791 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:138:24)
113791 verbose stack at emitThree (events.js:116:13)
113791 verbose stack at emit (events.js:194:7)
113791 verbose stack at .<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js:23:18)
113791 verbose stack at emitThree (events.js:116:13)
113791 verbose stack at emit (events.js:194:7)
113791 verbose stack at .<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js:23:18)
113791 verbose stack at emitThree (events.js:116:13)
113791 verbose stack at emit (events.js:194:7)
113792 verbose cwd /home/giorgi/AdMove/dev/web-advertiser-admove
113793 error Linux 4.8.0-27-generic
113794 error argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
113795 error node v6.9.1
113796 error npm v3.10.8
113797 error Maximum call stack size exceeded
113798 error If you need help, you may report this error at:
113798 error <https://github.com/npm/npm/issues>
113799 verbose exit [ 1, true ]
Removed node_modules
several times and tried to reinstall. Can't understand what's the reason that causes this and how to fix it.
Javascript Solutions
Solution 1 - Javascript
https://stackoverflow.com/a/49750421/2754718">metzelder's answer helped me fix the issue. however if you run the command npm cache clean
, it will give you a message
> As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid
So, as of npm5 you can do by adding a --force
flag to the command.
So the command is:
npm cache clean --force
Solution 2 - Javascript
npm rebuild
it has solved my problem
Solution 3 - Javascript
Try removing package-lock.json
and the node_modules
folder:
rm package-lock.json
rm -r node_modules
Solution 4 - Javascript
npm uninstall
npm cache clean --force
I tried these two methods but they didn't work. After, I deleted the node_modules
directory and ran npm install
again, it still didn't work. Lastly, I deleted package-lock.json
and created a new package-lock.json
file using
npm install
Solution 5 - Javascript
I had the same issue with npm install
.
After a lot of search, I found out that removing your .npmrc
file or its content (found at %USERPROFILE%/.npmrc
), will solve this issue. This worked for me.
Solution 6 - Javascript
I have overcome this issue by doing following:
-
Delete all the content of the npm dependencies. You can find the default install location according to this thread: https://stackoverflow.com/a/5926706/1850297
-
Before you run
npm install
command, I suggest to runnpm cache clean --force
Solution 7 - Javascript
npm rebuild
will work for sure
Solution 8 - Javascript
In my case, update to the newest version:
npm install -g npm
Solution 9 - Javascript
I deleted
> node_modules
and then reinstalled by
> npm install
It worked for me
Solution 10 - Javascript
I have also faced the same problem and this is how i resolved it.
-
First of all you need to make sure that your node and npm versions are up to date. if not please upgrade your node and npm packages to latest versions.
nvm install 12.18.3 // update node version through node version manager npm install npm // update your npm version to latest
-
Delete your
node_modules
folder andpackage-lock.json
file. -
Force clean the entire NPM cache by using following comand.
npm cache clean --force
-
Re-Install all the dependencies.
npm install
-
If above step didn't resolve your problem, try to re-install your dependencies after executing following command.
npm rebuild
Solution 11 - Javascript
This issue can also happen if you're trying to install a package that doesn't exist or if you're trying to install a version that doesn't exist.
Solution 12 - Javascript
> npm cache clean returns below message
>
> As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead. On the other hand, if you're debugging an issue with the installer, you can use npm install --cache /tmp/empty-cache
to use a temporary cache instead of nuking the actual one.
If you run npm cache verify
, as specified above, then it actually runs cache verification and garbage collection which fixes the problem.
> Cache verified and compressed (~\AppData\Roaming\npm-cache_cacache): > Content verified: 6183 (447214684 bytes) Content garbage-collected: 16 > (653745 bytes) Index entries: 9633
Solution 13 - Javascript
In case none of these answer work for you, it may be because the terminal you're using isn't the right one/ your node_modules
is used by another part of your computer.
In my case I kept juggling between this error (maximum call stack size exceeded) and the access error event when I did a sudo npm i
.
The fix was to close my IDE (which was WebStorm), run npm i
in a basic terminal, and that was it.
Solution 14 - Javascript
Happened in docker (node:15-buster) for me.
Remember to use WORKDIR /<folder>
so that it doesn't conflict with original npm libraries installed.
The folder can be anything but system folders, so that includes using /
.
Solution 15 - Javascript
I'm not a Windows user, so if you are, try to check Rene Knop comment.
For Unix/OSX users, I've removed the root .npmrc file ~/.npmrc
.
Before you're going to try it, please,
check if there is nothing necessary over there
you can use this command to bring all content into your terminal: cat ~/.npmrc
.
If you have got something like:
cat: /Users/$USER/.npmrc: No such file or directory
to save a copy:
cp ~/.npmrc ~/.npmrc_copy
Now, try to remove it (Works for bash users: Unix / Ubuntu / OSX ...):
rm -f ~/.npmrc
This worked for me.
Hope this will be helpful for others.
Solution 16 - Javascript
I also had the same problem. I had tried the previous solutions, but the solution for me was much simpler. I only had to remove the space in the directory and then run npm i
again
Thanks to: https://github.com/nodejs/node-gyp/issues/809#issuecomment-155019383 for pointing this out.
Solution 17 - Javascript
You uninstall npm package and force clean the cache and close terminal and reinstall whichever package be.
$sudo npm uninstall <package - name>
$sudo npm cache clean --force
Then restart terminal and check
Still not working upgrade both npm and node to the latest version
Solution 18 - Javascript
In general, once a module has been installed, it's much more convenient to use npm ci
instead of npm install
. Please check out this SO answer for the advantages of the former with respect to the later in a production environment.
So please just run
npm ci
All dependencies will be updated, and the problem will disappear. Or it will error in the case there's some grave de-synchronization between one and the other.
Solution 19 - Javascript
Most of the times, this issue occurs if you are using the system provided by the organization you work for and it's vpn restricts the use of this command. In this case, you may try to disconnect from organization vpn and then execute this command.
Solution 20 - Javascript
In my case I had a custom .npmrc
file that included an auth token for authenticating with a private npm registry.
The token had expired, which helpfully returned code E401: Incorrect or missing password
locally, but ERR! Maximum call stack size exceeded
from the CI build.
Solution 21 - Javascript
I tried everything to fix this issue on my Mac. I think the issue started when I had already downloaded npm from Node.js and then reinstalled it with Homebrew while following along with a Team Treehouse video.
#Here's what I tried:#
From https://docs.npmjs.com/misc/removing-npm
sudo npm uninstall npm -g
sudo make uninstall
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
#Here's what worked:#
In the end, the only thing that worked for me was to clone down the npm-reinstall repo from GitHub that completely removed everything related to npm on my Mac.
https://github.com/brock/node-reinstall
I then had to reinstall node and npm from Node.js.
Solution 22 - Javascript
I tried everything to fix this issue on my windows 7 machine like
Reinstalling and rebuilding npm
At last, I fixed this small configuration setting issue by wasting my entire day.
How I resolved this issue
Removing my project specific configurations in global .npmrc at location like drive:/Windows/Users/../.npmrc
Solution 23 - Javascript
I solved it 100% I had this problem with gulp version: 3.5.6.
You should clean the package-lock.js and then run npm install
and It worked form
Solution 24 - Javascript
Our company dev environment uses Artifactory
as the default registry for our NPM dependencies, and when running npm install
it was defaulting to this, which did not work... so manually specifying the main npm registry via npm install --registry https://registry.npmjs.org
fixed this issue for me...
Solution 25 - Javascript
Today we encountered this error when running an npm prune
even after running an npm cache clean --force
.
Versions:
node 13.8.0
npm 6.13.6
Deleting the package-lock.json
worked for this case as well. Thank you all!
Solution 26 - Javascript
I was facing the same error, I was trying to install jest into to one of the packages in a monorepo project.
If you are using Yarn + Learna to package a monorepo project, you will have to navigate to the package.json inside the target package and then run npm install
or npm install <package name>
.
Solution 27 - Javascript
I don't know why, but I ran npm install
with sudo and it worked.
sudo npm install
Solution 28 - Javascript
I had this problem and it was due to an upgrade of my git executable. I rolled back to Git-2.21.0.rc1.windows.1-64-bit and added this to my environment path and it fixed my issue.
Solution 29 - Javascript
The one thing that finally worked for me on Mac was upgrading from node 8.12 to 10.x using NVM.
I uninstalled all other versions of Node with NVM, then installed 10.x, then ran nvm alias default node
, which tells NVM to always default to the latest available node version on a shell.
After that, my live reloading issue went away!
Solution 30 - Javascript
Switching to yarn solved the issue for me.
Solution 31 - Javascript
For those having this issue when building a Docker image with Jenkins (or any CI), make sure the package-lock.json
is also copied to the container.
COPY ./src/package*.json /home/node/
RUN npm install
For us, the install actually went fine, the error only occurred when running npm prune production
for the production image.
Solution 32 - Javascript
If your default npm registry is something other than the public npm repository (you can check this by going to your .npmrc file or checking your npm config via npm CLI commands), you could try unsetting the registry config so it points back to the public npm repository. Then run npm install
again.
If you have dependencies that aren't available in the public npm repository, try temporarily removing those dependencies from package.json. This will allow you to run npm install
. Finally, revert the dependencies and registry config you removed and run npm install
one last time to install the rest of your dependencies.
Solution 33 - Javascript
I was facing a similar error. I tracked it down to the fact that npm was unable to delete files from the .bin folders for a npm link'd folder. So I went in and rm -rf all the .bin folders from the npm link'd folder.
find "linked-folder" -type d -name ".bin" -print
For all folders listed | rm -rf
That resolved the issue.
Solution 34 - Javascript
Following steps helped me to solve this issue:
- Stop all react strips (e.g. start build)
- run
npm cache clean --force
- run
npm install
Solution 35 - Javascript
echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches
works for me on Ubuntu.
Solution 36 - Javascript
npm cache clean --force
This works for me with node 8, and npm 6+
Solution 37 - Javascript
The error message may not be directly related to the npm procedure you are trying to run, it might be other node processes running that conflict or use up resources.
In my case I had an empty node_modules folder fresh from a recent init and still got
> npm ERR! Maximum call stack size exceeded
when running npm install --save-dev @wordpress/scripts
for WordPress plugin development.
The issue was a live reload watcher running in my wp-content folder, with that stopped the install worked first time.
Solution 38 - Javascript
In my case Maximum call stack size exceeded
was triggered by another error earlier. The logs looked like this:
// ... skipping some deprecation warnings
> core-js@3.6.5 postinstall /root/.nvm/versions/node/v14.10.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-graphql-types-generator/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
sh: 1: node: Permission denied
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/@aws-amplify/cli/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! Maximum call stack size exceeded
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-09-10T14_10_28_397Z-debug.log
Note sh: 1: node: Permission denied
that led me to https://forum.vuejs.org/t/cannot-install-vue-cli-permission-error-in-require-postinstall/82017/7
I had to add --unsafe-perm
to the install command and run it as root:
sudo npm install -g --unsafe-perm @aws-amplify/cli
Solution 39 - Javascript
I had this problem and it turned out, I had a symbolic link inside node_modules
pointing to it's parent, i.e.
[user@localhost]$ ls -la /path/to/project/node_modules
total 3272
...
lrwxrwxrwx 1 user user 50 Nov 26 18:38 node_modules -> ../node_modules
...
I mean, somehow I messed the bash script and it created a circular symbolic link. Removing the symbolic link solved the issue.
Solution 40 - Javascript
rm -rf node_modules
and then reinstall worked for me.
note: probably don't need to rip out your lock files
Solution 41 - Javascript
I tried all suggestions in this thread but none of them working, I keep getting RangeError: Maximum call stack size exceeded
when I run 'npm install'. I decide to run npm start
directly, and it start successfully whit no error...
Solution 42 - Javascript
I came across to same problem but in my case I have been using yarn
from beginning but from some package readme I copied the npm install
command and got this error. Later realised that yarn add <package-name>
solved the issue and package was installed.
It might help someone in future.
Solution 43 - Javascript
Try this first!
Run npm install
again
Crazily simple, but I don't know who else tried this so thought I should put it up here, despite all the existing answers. I suggest people try this first though, given it's the simplest solution and doesn't come with the risks others have noted when, say, deleting package-lock.json
Theory:
This is totally unproven as I'm just doing this to run a code screen (i.e. a totally new repo to me) and I guessed that some of the packages had been installed the first time npm install
was run; it just ran out of resources later on.
I guessed that if I ran npm install
again it would skip the install of the now-installed packages and complete, or at least get further. The behaviour I guessed at was what I saw but I didn't actually debug or test if this behaviour was for the reasons I guessed!
Clearly a lot of different things have worked for different people, but I thought I should add an answer to this already well-answered question on the basis it's the most trivial to do.
And if you're lucky it's going to run for long enough for you to grab a or ☕