我试图运行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,并尝试重新安装。不能理解是什么原因导致了这个,以及如何解决它。


当前回答

我尝试了所有方法在我的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。

其他回答

我在Mac上最终成功的一件事是从8.12节点升级到10节点。x使用NVM。

我用NVM卸载了所有其他版本的Node,然后安装了10。x,然后运行nvm alias default node,它告诉nvm总是默认为shell上最新可用的节点版本。

在那之后,我的实时重新加载问题消失了!

echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

在Ubuntu上为我工作。

错误消息可能与你试图运行的npm进程没有直接关系,它可能是其他正在运行的节点进程冲突或耗尽了资源。

在我的情况下,我有一个空的node_modules文件夹从最近的init和仍然得到

npm犯错!超过最大调用堆栈大小

当运行npm install——save-dev @wordpress/scripts用于WordPress插件开发时。

问题是在我的wp-content文件夹中运行的实时重新加载监视器,并停止了安装第一次工作。

一般来说,一旦一个模块安装好了,使用npm ci比npm install要方便得多。请查看这个SO答案,了解在生产环境中前者相对于后者的优势。 所以请跑吧

npm ci

所有依赖项都将被更新,问题就会消失。如果两者之间有严重的不同步,它就会出错。

我尝试了一切方法来解决这个问题在我的windows 7机器上

重新安装和重建npm

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

我是如何解决这个问题的

删除全局.npmrc中的项目特定配置 例如drive:/Windows/Users/.. npmrc