node内存泄漏耗尽: FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript

首先看到这种就是内存泄漏,问题找准了,接下来就是疯狂百度,csdn搜索,试了3个方法,最后一个有用。

1):

执行npm命令报错:FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of me

字面意思:JavaScript堆内存不足。因为Node 是基于V8引擎,在 Node 中通过 JavaScript 使用内存时只能使用部分内存。
尝试了删除C:\Users{账户}\下的.npmrc文件,并没起作用。

解决方案:通过 increase-memory-limit 插件
安装插件:npm install -g increase-memory-limit
执行命令:npx cross-env LIMIT=4096 increase-memory-limit
最后执行:npm start启动项目即可
————————————————

2):

node内存泄漏耗尽解决方法:

在使用最新Vue脚手架vue-cli搭建的项目开发时,因为频繁修改代码,导致内存溢出,出现:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed
(致命错误:使用任何“NPM”命令时JavaScript堆将耗尽内存)

三种解决方法:

一,您需要增加节点允许的内存量。

您可以通过以下方式在全局范围内执
1、打开一个cmd窗口
2、跑 setx NODE_OPTIONS --max_old_space_size=10240
3、关闭所有cmd /代码编辑器
4、重新打开cmd并再次运行节点命令(npm等)
———————————————————————————————————————————
二,直接覆盖
简单粗暴,直接在package.json替换scripts下的serve指令内容:

serve" : "node --max_old_space_size=4096 node_modules/.bin/vue-cli-service serve --open

开发时运行npm run serve或yarn serve即可。
———————————————————————————————————————————
三、优雅的覆盖
和以上的方法唯一的不同,就是不需要编写vue-cli-service包的路径,代码更优雅,也不受包地址 的影响。

全局安装npx: npm i -g npx

直接在package.json替换scripts下的serve指令内容:

serve": "npx --max_old_space_size=4096 vue-cli-service serve
开发时运行npm run serve或yarn serve

3):

解决办法:在package.json里添加,使用  increase-memory-limit  解决

01) npm install increase-memory-limit #本项目中使用 [ 选择自己的方式 ]   # npm install -g increase-memory-limit 全局使用

02) npm install --save cross-env
03) 修改 package.json 如下:[ LIMIT大小自己设置 ]

"scripts": {
    "fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit"
  },

04) npm run fix-memory-limit(只需执行一次即可)

猜你喜欢

转载自blog.csdn.net/qq_42351675/article/details/131704901