【问题标题】:Gatsby Cloud Build Failing with "Out of Memory" ErrorGatsby Cloud Build 因“内存不足”错误而失败
【发布时间】:2021-10-24 04:14:50
【问题描述】:

在为我的网站构建 Gatsby Cloud 期间,我遇到了“内存不足”问题。构建 JavaScript 包后,它将在“重写编译哈希”步骤停止运行。

这一切都是在我将一个 70mb 的 .mp4 视频上传到我在 Gatsby 的资产文件夹中然后推送到 GitHub 之后开始发生的。我的整个文件夹是 1.11 GB 它在预览版本中失败了,我没有将它合并到 main 中,因为它在自己的分支上是分开的。我已经从我的项目中删除了那个视频,缓存了网站,删除了节点模块并重新安装了 npm。

但是,当我尝试将其推送到云端时,我仍然无法将其构建在 gatsby build 之上。在本地,它有时会构建,但有时会在运行页面查询时停止...... 有什么建议?我对 Gatsby 比较陌生,我拼命想解决这个问题。提前致谢!

Gatsby Build Logs

【问题讨论】:

    标签: gatsby node-modules static-site gatsby-image gatsby-cloud


    【解决方案1】:

    关于本地构建,可以通过添加修复“内存不足”泄漏错误

    "scripts": {
        "develop": "NODE_OPTIONS=--max-old-space-size=8192 gatsby develop",
       ...
    }
    

    注意:将8192 更改为所需的值。

    在这个GitHub thread 中,上面的命令有一些变体也可以为您工作:

    node --max-old-space-size=8192 node_modules/.bin/gatsby develop
    

    这很不言自明,但它们都增加了 Node 的内存空间。

    关于 Gatsby Cloud 问题,同样的命令也可以解决云环境中的问题,但您将被嵌入到 limits of the platform (and your pricing plan) 中。

    另外,在云端,如果你的 Node 版本与本地不同,你可能会面临不同环境之间的不同行为。如果是这样,您可能需要设置相同版本的 Node.js。运行:

    node -v 
    

    获取 Node 的工作本地版本。

    然后,添加environment variable NODE_VERSION 并将其设置为与上一个命令中输出的值相同。默认为 12。

    NODE_VERSION:指定您的项目应使用的 Node.js 版本。 例如,NODE_VERSION=10。默认为 12

    更多文档:https://www.gatsbyjs.com/docs/how-to/performance/resolving-out-of-memory-issues/

    【讨论】:

      猜你喜欢
      • 2013-03-14
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 2011-11-28
      相关资源
      最近更新 更多