今天使用yarn构建umi项目时,遇到了Javascript heap out of memory的问题,表明是构建过程中堆内存溢出。
1.排查,尝试解决
首先,删除node_modules, yarn.lock,重新安装依赖,重新构建——失败;
考虑到此次需求有安装新的插件,项目比较老,之前的使用的node版本比较低,可能新安装的插件需要版本较高的node(可能在版本低的node上触发隐藏bug内存溢出),使用nvm切换node版本,再构建——失败;
直接扩大V8使用的内存
更改build命令,将内存使用量扩大到8G"build": "export NODE_OPTIONS='--max-old-space-size=8192' && koi build"
成功。