首页 > 解决方案 > Gatsby 在 GitHub Actions CI 中运行时抛出 SIGSEV 错误

问题描述

gatsby build我的 Gatsby 网站上运行时遇到问题,该问题仅在在 Github Actions 容器中运行时出现。它也不总是发生。作为一个很好的例子,今天 Dependabot 启动了 12 个 PR,其中两个因此错误而失败。错误显示如下:

$ gatsby build
╔════════════════════════════════════════════════════════════════════════╗
║                                                                        ║
║   Gatsby collects anonymous usage analytics                            ║
║   to help improve Gatsby for all users.                                ║
║                                                                        ║
║   If you'd like to opt-out, you can use `gatsby telemetry --disable`   ║
║   To learn more, checkout https://gatsby.dev/telemetry                 ║
║                                                                        ║
╚════════════════════════════════════════════════════════════════════════╝
success open and validate gatsby-configs - 0.035s
success load plugins - 0.892s
success onPreInit - 0.010s
success delete html and css files from previous builds - 0.015s
success initialize cache - 0.013s
success copy gatsby files - 0.029s
warn gatsby-plugin-feed was initialized in gatsby-config.js without a feeds option.
This means that the plugin will use the internal RSS feed creation, which may not match your use
case.
This behavior will be removed in the next major release of gatsby-plugin-feed.
success onPreBootstrap - 0.014s
success createSchemaCustomization - 0.149s
success source and transform nodes - 0.193s
⠀
info bootstrap finished - 5.713 s
⠀
success Building production JavaScript and CSS bundles - 19.548s
success Rewriting compilation hashes - 0.002s
success run queries - 21.003s - 10/10 0.48/s
error Command failed with signal "SIGSEGV".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
##[error]Docker run failed with exit code 1

如您所见,没有太多信息,只有一行描述了错误:error Command failed with signal "SIGSEGV". 我一直在寻找一种方法来使 Gatsby 的输出更详细,但该命令似乎没有详细选项build

我唯一的线索是它可能与处理 Gatsby-Sharp 和 Gatsby-Image 中的图像有关,由于Gatsby GitHub repo 上的这个线程,这个 repo 确实使用了这两者。但似乎该线程中的很多人都在报告只是切线相似的不同问题;很难弄清楚可能有什么关系。

gatsby-config.js

module.exports = {
  siteMetadata: {
    title: `Matt.si`,
    description: `Mattsi Jansky's personal programming/tech blog`,
    author: `Mattsi Jansky`,
    siteUrl: `http://www.matt.si`,
    social: {
      twitter: `mattsijansky`,
      facebook: ``,
      github: `mattsi-jansky`,
      linkedin: `mjjansky`,
      email: `mattsi@jansky.dev`,
    },
  },
  plugins: [
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        path: `${__dirname}/content/blog`,
        name: `blog`,
      },
    },
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        plugins: [
          {
            resolve: `gatsby-remark-images`,
            options: {
              maxWidth: 970,
              showCaptions: true
            },
          },
          `gatsby-remark-prismjs`,
        ],
      },
    },
    `gatsby-transformer-sharp`,
    `gatsby-plugin-sharp`,
    {
      resolve: `gatsby-plugin-google-analytics`,
      options: {
        trackingId: `UA-54448080-1`,
      },
    },
    `gatsby-plugin-feed`,
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Matt.si`,
        short_name: `mattsi`,
        start_url: `/`,
        background_color: `#663399`,
        theme_color: `#663399`,
        display: `minimal-ui`,
        icon: `./static/favicon.png`, // This path is relative to the root of the site.
      },
    },
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        plugins: [
          {
            resolve: `gatsby-remark-footnotes`,
            options: {
              footnoteBackRefPreviousElementDisplay: "inline",
              footnoteBackRefDisplay: "inline",
              footnoteBackRefInnerText: "^",
              footnoteBackRefAnchorStyle: `text-decoration: none;`,
              footnoteBackRefInnerTextStartPosition: "front",
            }
          }
        ]
      }
    },
    // `gatsby-plugin-offline`,
    `gatsby-plugin-react-helmet`,
    `gatsby-plugin-sass`,
  ],
}

Package.json

{
  "name": "matt.si",
  "private": false,
  "description": "Mattsi Jansky's personal blog",
  "author": "Mattsi Jansky",
  "scripts": {
    "build": "gatsby build",
    "dev": "gatsby develop",
    "test": "jest",
    "test:updateSnapshots": "jest --updateSnapshot",
    "test:visual": "yarn build && ./scripts/run-visual-regression-tests.sh",
    "test:visual:update": "docker-compose run visual-regression-tests reference",
    "test:visual:approve": "docker-compose run visual-regression-tests approve",
    "lint": "eslint --ext .js,.jsx --ignore-pattern public .",
    "format": "prettier --trailing-comma es5 --no-semi --single-quote --write 'src/**/*.js' 'src/**/*.md'"
  },
  "dependencies": {
    "babel-preset-gatsby": "0.2.26",
    "gatsby": "2.18.21",
    "gatsby-image": "2.2.37",
    "gatsby-plugin-feed": "2.3.25",
    "gatsby-plugin-google-analytics": "2.1.31",
    "gatsby-plugin-manifest": "2.2.34",
    "gatsby-plugin-offline": "3.0.30",
    "gatsby-plugin-react-helmet": "3.1.18",
    "gatsby-plugin-sass": "2.1.26",
    "gatsby-plugin-sharp": "2.3.10",
    "gatsby-remark-footnotes": "0.0.7",
    "gatsby-remark-images": "3.1.39",
    "gatsby-remark-prismjs": "3.3.28",
    "gatsby-source-filesystem": "2.1.43",
    "gatsby-transformer-remark": "2.6.45",
    "gatsby-transformer-sharp": "2.3.9",
    "identity-obj-proxy": "3.0.0",
    "node-sass": "4.13.0",
    "prismjs": "1.18.0",
    "prop-types": "15.7.2",
    "react": "16.12.0",
    "react-dom": "16.12.0",
    "react-helmet": "5.2.1",
    "react-test-renderer": "16.12.0",
    "rehype-react": "4.0.1"
  },
  "devDependencies": {
    "babel-jest": "24.9.0",
    "enzyme": "3.11.0",
    "enzyme-adapter-react-16": "1.15.2",
    "eslint": "6.8.0",
    "eslint-plugin-react": "7.17.0",
    "jest": "24.9.0",
    "prettier": "1.19.1",
    "wait-on": "3.3.0"
  },
  "license": "GPL-3.0-only"
}

我不确定还有什么可以帮助的,但一切都在回购中公开。我正在尝试gatsby info在 CI 服务器上运行,但在使其正常工作时遇到了一些麻烦。有任何想法吗?

标签: javascriptgatsbygithub-actionsgatsby-image

解决方案


将所有 gatsby 插件更新到最新版本并关注此来源

它对我有用


推荐阅读