EazyDevelop社区 运行代码报错:FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory...

运行代码报错: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说的是 Jav...

一、背景

进公司拉取项目代码,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),当我们的开发中包比较大时,就容易形成内存不足。

三、解决方案

🥈解决办法一:
修改Node运行内存(推荐使用):
export NODE_OPTIONS=--max_old_space_size=4096
  • 1.

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

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

"scripts": {
    "build": "react-app-rewired build && node --max_old_space_size=4096 generateZipFile.js ",
  
  },
  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
🥈解决办法二:

此时我们可以使用increase-memory-limit插件进行解决,目的是为了增加Node服务器运行内存限制。

increase-memory-limit插件官网: https://www.npmjs.com/package/increase-memory-limit

1.全局安装increase-memory-limit插件
npm install -g increase-memory-limit
  • 1.
2.然后在项目根目录下执行如下命令
increase-memory-limit
  • 1.

装完插件之后在在package.json 文件中增加一句设置内存的代码

/* package.json 文件 */"devDependencies": {
    "increase-memory-limit": "^1.0.7",
},
  /* 添加 fix-memory-limit */
"scripts": {
    "fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

最后我们再使用yarn命令进行打包即可成功(亲测有效)。

Logo

一站式 AI 云服务平台

更多推荐

  • 浏览量 627
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献2条内容