Gatsby Cloud构建出现「Out of Memory」错误该如何解决?
Gatsby 构建内存溢出(Out of Memory)问题解决方案
- 调整Node.js内存上限
Gatsby基于Node.js运行,默认内存上限不足以支撑大项目构建,可通过环境变量扩容:
本地Linux/Mac环境构建命令调整为:NODE_OPTIONS="--max_old_space_size=8192" gatsby build
本地Windows环境先执行环境变量配置再构建:set NODE_OPTIONS=--max_old_space_size=8192gatsby build
Gatsby Cloud端直接在项目环境变量配置页新增NODE_OPTIONS变量,值设为--max_old_space_size=8192,若仍报错可调整为12288(对应12G内存)。 - 彻底清除Git历史中的大文件
仅删除当前分支的视频文件无法解决根本问题,提交历史中仍残留该70MB视频文件,会占用仓库空间甚至被Gatsby文件扫描逻辑识别,可使用git filter-repo或BFG Repo-Cleaner工具将该视频从全分支提交历史中彻底移除。 - 优化Gatsby构建配置
在gatsby-config.js中新增并行构建与缓存配置,减少内存占用:
同时检查gatsby-source-filesystem插件配置,排除不需要监听的文件夹(如.git、node_modules、临时文件目录等),避免Gatsby扫描冗余文件占用内存。module.exports = { flags: { PARALLEL_SOURCING: true, PRESERVE_FILE_DOWNLOAD_CACHE: true, DEV_SSR: false }, // 其余原有配置 } - 全量清理构建缓存
执行官方清理命令彻底清除残留缓存,再重新构建:gatsby clean && npm install && gatsby build - 拆分复杂页面查询
本地构建在run page queries阶段中断,说明存在占用内存过高的页面查询,可将大查询拆分为多个小查询,或添加分页逻辑,避免一次性拉取大量数据。
内容的提问来源于stack exchange,提问作者wchesh24
相关产品推荐
相关产品推荐

