关于javascript:npm install上超出了最大调用堆栈大小

Maximum call stack size exceeded on npm install

我尝试运行npm install,这是控制台的输出:

1
2
3
4
5
6
7
8
9
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>

这是npm-debug.log的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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. (/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 . (/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 . (/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 ]

多次拆卸node_modules并尝试重新安装。无法理解导致这种情况的原因以及如何解决。


梅泽尔德的回答帮助我解决了这个问题。但是,如果您运行命令npm cache clean,它会给您一条消息

As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid

因此,对于NPM5,可以通过向命令添加一个--force标志来完成。

所以命令是:

1
npm cache clean --force


NPM重建——解决了我的问题


我和npm install有同样的问题。经过大量搜索,我发现删除您的.npmrc文件或其内容(在%USERPROFILE%/.npmrc中找到)可以解决这个问题。这对我很有用。


1
2
3
npm uninstall

npm cache clean --force

我用了这两种方法,但没用。之后?m删除节点模块,然后再次安装NPM,但它不再工作。最后?m删除package-lock.json,然后使用

1
npm install

好吧!!!!


我通过以下方式克服了这个问题:

  • 删除NPM依赖项的所有内容。您可以根据此线程找到默认安装位置:https://stackoverflow.com/a/5926706/1850297

  • 在运行npm install命令之前,我建议运行npm cache clean --force


如果这些答案都不适用于您,可能是因为您使用的终端不是正确的/您的node_modules被您的计算机的另一部分使用。

在我的例子中,我一直在这个错误(超过了最大调用堆栈大小)和执行sudo npm i时的访问错误事件之间徘徊。

修复方法是关闭我的IDE(Webstorm),在一个基本终端上运行npm i,就这样。


我不是Windows用户,因此如果是,请尝试查看Rene Knop的评论。

对于UNIX/OSX用户,我已经删除了根.npmrc文件~/.npmrc。在您尝试之前,请检查是否没有必要(对您而言),并使用以下命令将所有内容带入您的终端:cat ~/.npmrc

如果你有类似的东西:

1
cat: /Users/$USER/.npmrc: No such file or directory

如果你在那边有什么内容的话(您可以保存此文件的副本cp ~/.npmrc ~/.npmrc_copy)尝试用此文件删除此文件:(适用于bash用户:unix/ubuntu/osx…)

1
rm -f ~/.npmrc

这对我有用。希望这能解决别人这个问题。


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.

如果按照上面指定的方式运行npm cache verify,它将实际运行缓存验证和垃圾收集,从而解决问题。

Cache verified and compressed (~\AppData
oaming
pm-cache_cacache):
Content verified: 6183 (447214684 bytes) Content garbage-collected: 16
(653745 bytes) Index entries: 9633


我删除了

node_modules

然后由重新安装

npm install

它对我有用


我在我的Windows7机器上尝试了各种方法来解决这个问题

重装和重建核电站

最后,我浪费了一整天的时间来解决这个小的配置设置问题。

我是如何解决这个问题的

在global.npmrc中删除我的特定于项目的配置在驱动器之类的位置:/windows/users/../npmrc


尝试删除package-lock.jsonnode-modules文件夹:

1
2
rm package-lock.json
rm -r node_modules


卸载NPM包并强制清除缓存并关闭终端,然后重新安装任何包。

1
2
$sudo npm uninstall <package - name>
$sudo npm cache clean --force

然后重启终端并检查

仍不工作,请将NPM和节点升级到最新版本


我有这个问题,这是由于我的git可执行文件的升级。我回滚到git-2.21.0.rc1.windows.1-64位,并将其添加到我的环境路径中,它解决了我的问题。


我尽力在我的Mac上解决这个问题。我认为这个问题开始于我已经从node.js下载了npm,然后在跟踪团队树屋视频的同时用homebrew重新安装了它。

以下是我的尝试:

来自https://docs.npmjs.com/misc/removing-npm

1
2
3
sudo npm uninstall npm -g
sudo make uninstall
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

如何完全卸载node.js并从头重新安装(mac os x)

1
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

工作原理如下:

最后,唯一对我有用的就是从Github克隆出NPM重新安装repo,它完全删除了Mac上与NPM相关的所有内容。

https://github.com/brock/node-reinstall

然后我必须从node.js重新安装node和npm。