运行代码报错:FATAL ERROR: Reached heap limit Allocation failed – JavaScript heap out of memory

一、背景

        进公司拉取项目代码,npm install拉取依赖后,运行控制台报错:FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

二、原因分析

        JavaScript heap out of memory说的是 JavaScript 运行内存不足,其实就是Node运行时内存不足。Node 中通过script使用的内存只是很小的一部分(64位系统下约为1.4 GB,32位系统下约为0.7 GB),当我们的开发中包比较大时,就容易形成内存不足。

三、解决方案

        1、修改Node运行内存(推荐使用):关闭所有打开的命令框和代码编辑器,然后Windows+R输入cmd打开命令框,在命令框输入以下代码回车即可。

 setx NODE_OPTIONS --max_old_space_size=4096

         如果还是不行,可以试试下面的办法!       

        2、在项目package.json的 scripts 中增加 node --max_old_space_size=4096

"scripts": {
    "build": "react-app-rewired build && node --max_old_space_size=4096 generateZipFile.js ",
  
  },

        3、装插件:increase-memory-limit插件,目的是为了增加Node服务器运行内存限制,装完插件之后在scripts中增加一句设置内存的代码。

        

 
/* package.json 文件 */
"devDependencies": {
    "increase-memory-limit": "^1.0.6",
},
  /* 添加 fix-memory-limit */
"scripts": {
    "fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>