GRO*_*X13 83 javascript node.js npm
我正在尝试运行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>
Run Code Online (Sandbox Code Playgroud)
这是以下内容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 ]
Run Code Online (Sandbox Code Playgroud)
删除node_modules了几次,并尝试重新安装.无法理解造成这种情况的原因以及如何解决这个问题.
dja*_*ude 59
metzelder的回答帮助我解决了这个问题.但是如果你运行命令npm cache clean,它会给你一个消息
从npm @ 5开始,npm缓存会自行修复损坏问题,并保证从缓存中提取的数据有效
因此,从npm5开始,您可以通过向--force命令添加标志来实现.
所以命令是:
npm cache clean --force
Run Code Online (Sandbox Code Playgroud)
YYY*_*YYY 45
npm rebuild - 它解决了我的问题
Мар*_*ров 23
尝试删除package-lock.json和node-modules文件夹:
rm package-lock.json
rm -r node_modules
Run Code Online (Sandbox Code Playgroud)
我也遇到了同样的问题,这就是我解决它的方法。
首先,您需要确保您的 node 和 npm 版本是最新的。如果没有,请将您的 node 和 npm 包升级到最新版本。
nvm install 12.18.3 // update node version through node version manager
npm install npm // update your npm version to latest
Run Code Online (Sandbox Code Playgroud)
删除您的node_modules文件夹和package-lock.json文件。
使用以下命令强制清理整个 NPM 缓存。
npm cache clean --force
Run Code Online (Sandbox Code Playgroud)
重新安装所有依赖项。
npm install
Run Code Online (Sandbox Code Playgroud)
如果上述步骤没有解决您的问题,请在执行以下命令后尝试重新安装您的依赖项。
npm rebuild
Run Code Online (Sandbox Code Playgroud)
我已经通过执行以下操作克服了这个问题:
删除所有npm依赖项的内容。您可以根据此线程找到默认的安装位置:https : //stackoverflow.com/a/5926706/1850297
在运行npm install命令之前,我建议先运行npm cache clean --force
npm uninstall
npm cache clean --force
Run Code Online (Sandbox Code Playgroud)
我使用这两种方法,但没有用。在删除节点模块并再次安装npm之后,它又无法正常工作了。最后-m删除package-lock.json并在使用之后创建新的package-lock.json文件
npm install
Run Code Online (Sandbox Code Playgroud)
好吧!
小智 5
npm cache clean 返回以下消息
从 npm@5 开始,npm 缓存会从损坏问题中自我修复,并且从缓存中提取的数据保证是有效的。如果您想确保一切都一致,请改用“npm cache verify”。另一方面,如果您正在调试安装程序的问题,您可以使用
npm install --cache /tmp/empty-cache临时缓存而不是实际缓存。
如果您npm cache verify按照上面的说明运行,那么它实际上会运行缓存验证和垃圾收集来解决问题。
缓存验证和压缩 (~\AppData\Roaming\npm-cache_cacache):内容验证:6183(447214684 字节)内容垃圾收集:16(653745 字节)索引条目:9633
对于那些使用NVM的人,请确保您使用正确版本的Node和NPM!
当我开始在另一个项目中使用NVM后,我开始收到此错误。当我去运行npm install我的工作项目时,我收到此错误,指出已超出最大调用堆栈大小。
事实证明,这是由于我使用Node 12及其附带的NPM版本引起的,而我应该使用Node 16。
切换到更新版本的Node和NPM;
nvm use <version>(例如,nvm use 16)