FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

原因

JavaScript 内存不足,指的就是Node,Node 基于V8引擎, Node 中通过script使用的内存只是很小的一部分(64位系统下约为1.4 GB,32位系统下约为0.7 GB),当我们的开发中包比较大时,就容易形成内存不足。

解决方法(设置增加内存)

方法一

"serve": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve"
或者
"serve": "npx --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve"

方法二

安装 cross-env 和 increase-memory-limit
yarn add -D cross-env increase-memory-limit

package.json 的 scripts
"fix-memory-limit": "cross-env LIMIT=8096 increase-memory-limit"

yarn fix-memory-limit

然后在开启服务,这里可能会遇到问题

node --max-old-space-size=4096: ‘>=8.12.0’ 类似这种的。

定位到那个包把这些 --max-old-space-size=4096 删除。

方法三

set NODE_OPTIONS=--max_old_space_size=4096

运行第一遍可能还会有问题,运行两遍试试,

参考

Vue-cli3执行serve和build命令时nodejs内存溢出问题及解决

猜你喜欢

转载自blog.csdn.net/supitll/article/details/129402501