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


当前回答

我不知道为什么,但我用sudo运行npm install,它工作了。

sudo npm install

其他回答

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

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

然后重启终端检查

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

npm重建 它解决了我的问题

我们公司的开发环境使用Artifactory作为我们NPM依赖项的默认注册表,当运行NPM install时,它默认为这个,这不起作用…所以通过NPM install——registry https://registry.npmjs.org手动指定主NPM注册表为我解决了这个问题…

我也有同样的问题。我尝试过以前的解决方案,但对我来说,解决方案要简单得多。我只需要删除目录中的空格,然后再次运行npm I

感谢:https://github.com/nodejs/node-gyp/issues/809#issuecomment-155019383指出这一点。

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

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

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