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


当前回答

我不是Windows用户,所以如果你是,试着检查Rene Knop的评论。

对于Unix/OSX用户,我删除了根.npmrc文件~/.npmrc。 在你尝试之前,拜托, 看看那边是否没有必要的东西 您可以使用这个命令将所有内容带入您的终端:cat ~/。npmrc。

如果你有这样的东西:

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

保存副本:

cp ~/.npmrc ~/.npmrc_copy

现在,尝试删除它(适用于bash用户:Unix / Ubuntu / OSX…):

rm -f ~/.npmrc

这对我很管用。 希望这对其他人有所帮助。

其他回答

我也遇到过类似的错误。我追踪到npm无法从npm链接文件夹的.bin文件夹中删除文件的事实。所以我进入并rm -rf npm链接文件夹中所有的。bin文件夹。

find "linked-folder" -type d -name ".bin" -print  
For all folders listed | rm -rf  

这就解决了问题。

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

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

npm ci

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

以下步骤帮助我解决了这个问题:

停止所有的反应条(例如开始构建) 运行NPM cache clean——force 运行NPM install

我也遇到过同样的问题,我是这样解决的。

First of all you need to make sure that your node and npm versions are up to date. if not please upgrade your node and npm packages to latest versions. nvm install 12.18.3 // update node version through node version manager npm install npm // update your npm version to latest Delete your node_modules folder and package-lock.json file. Force clean the entire NPM cache by using following comand. npm cache clean --force Re-Install all the dependencies. npm install If above step didn't resolve your problem, try to re-install your dependencies after executing following command. npm rebuild