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

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的内容:

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 ]

多次删除node_modules,并尝试重新安装。不能理解是什么原因导致了这个,以及如何解决它。


当前回答

我在安装npm时也遇到了同样的问题。 经过大量的搜索,我发现删除您的.npmrc文件或其内容(在%USERPROFILE%/.npmrc中找到),将解决此问题。这对我很管用。

其他回答

我尝试了所有方法在我的Mac上解决这个问题。我认为这个问题开始于我已经从Node.js下载了npm,然后在跟随Team Treehouse视频的同时用Homebrew重新安装它。

以下是我的尝试:

从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*

如何完全卸载Node.js,重新安装(Mac OS X)

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

以下是行之有效的方法:

最后,唯一对我有用的是从GitHub克隆了npm-重装回购,这完全删除了我Mac上与npm相关的所有东西。

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

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

我尝试了这个线程中的所有建议,但没有一个有效,我一直得到RangeError:当我运行'npm install'时,超过了最大调用堆栈大小。我决定直接运行npm start,它成功启动,没有错误…

大多数情况下,如果您使用的是您工作的组织提供的系统,并且其vpn限制了此命令的使用,则会发生此问题。 在这种情况下,可以先尝试断开组织vpn连接,然后再执行该命令。

卸载npm包,强制清理缓存并关闭终端,然后重新安装任何一个包。

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

然后重启终端检查

还是不行,把npm和node都升级到最新版本

对我来说发生在docker (node:15-buster)。

记住使用WORKDIR /<文件夹>,这样它就不会与安装的原始npm库冲突。

该文件夹可以是系统文件夹以外的任何文件夹,因此包括使用/。