You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Action部署Firebase时JavaScript堆内存不足错误求助

解决GitHub Action构建React项目内存溢出问题

问题原因

GitHub托管的Runner默认内存资源有限,加上项目中旧依赖可能存在内存占用过高或泄漏问题,导致构建时触发Node.js堆内存溢出错误,而本地机器内存充足所以能正常构建。

解决步骤

1. 增加Node.js内存限制

直接给Node进程分配更多内存,两种方式二选一:

  • 修改项目package.json的build脚本:
    "scripts": {
      "build": "react-scripts --max-old-space-size=4096 build"
    }
    
  • 或者在GitHub Action的构建步骤中设置环境变量:
    - name: 执行构建
      env:
        NODE_OPTIONS: "--max-old-space-size=4096"
      run: npm run build
    

2. 更新旧依赖,清理冗余包

日志中显示大量依赖已废弃,这些旧版本可能存在内存效率问题:

  • 删除本地的package-lock.json和node_modules文件夹,重新执行npm install
  • 手动更新废弃依赖:
    • 将axios升级到v0.21.1及以上版本
    • 将core-js/core-js-pure升级到v3.23.3及以上版本
    • 将svgo升级到v2.x版本
    • 将font-awesome相关依赖升级到v6.1.0及以上版本

3. 优化构建过程,减少内存消耗

  • 先更新浏览器兼容数据,减少不必要的编译工作:
    npx browserslist@latest --update-db
    
  • 关闭SourceMap生成(如果不需要),能大幅降低内存占用:
    在GitHub Action构建步骤中添加环境变量:
    - name: 执行构建
      env:
        GENERATE_SOURCEMAP: false
        NODE_OPTIONS: "--max-old-space-size=4096"
      run: npm run build
    

4. 使用更大规格的GitHub Runner

如果以上方法都无效,改用大内存规格的Runner:

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest-large
    steps:
      # 你的拉取代码、安装依赖、构建、部署步骤

内容的提问来源于stack exchange,提问作者NAYN9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:45:49