可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.
回答1:
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
回答2:
npm rebuild
it has solved my problem
回答3:
Try removing package-lock.json
and the node-modules
folder:
rm package-lock.json
rm -r node_modules
回答4:
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.
回答5:
npm uninstall
npm cache clean --force
Im using this two method but it didnt work. After ım deleting node modules and again npm install but it didnt work again. Lastly ım deleting package-lock.json and create new package-lock.json file after that using
npm install
and okay!!!
回答6:
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 run npm cache clean --force
回答7:
I deleted
node_modules
and then reinstalled by
npm install
It worked for me
回答8:
In my case, update to the newest version:
npm install -g npm
回答9:
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
回答10:
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.
回答11:
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
回答12:
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.
回答13:
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*
From How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)
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.
回答14:
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 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
回答15:
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 jungling 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.
回答16:
I just did npm rebuild
it worked like charm.
回答17:
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.
回答18:
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
回答19:
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!
回答20:
Switching to yarn solved the issue for me.
回答21:
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.
回答22:
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...
回答23:
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.