0

我正在将 Gatsby Plugin 与其他插件一起用于备注图像。下面提供的包 json。

奇怪的是,构建在 MacOS 上运行良好,但在尝试获取 PNG 图像的元数据时在 Debian docker 容器内失败。gatsby-plugin-sharp 面临这个错误

package.json - 仅包含依赖项

"dependencies": {
    "@buzz/as-components": "^1.0.3",
    "@dx/continuum-footer": "^1.5.1",
    "@marcom/ac-sasskit": "^7.3.0",
    "gatsby": "^2.26.1",
    "gatsby-plugin-emotion": "^5.2.0",
    "gatsby-plugin-flexsearch": "^1.0.3",
    "gatsby-plugin-manifest": "^2.6.1",
    "gatsby-plugin-offline": "^3.4.0",
    "gatsby-plugin-react-helmet": "^3.4.0",
    "gatsby-plugin-sass": "^3.0.0",
    "gatsby-plugin-sharp": "^2.14.1",
    "gatsby-remark-autolink-headers": "^2.10.0",
    "gatsby-remark-code-buttons": "^2.0.4",
    "gatsby-remark-images-anywhere": "^1.3.0",
    "gatsby-remark-prismjs": "^3.13.0",
    "gatsby-source-filesystem": "^2.5.0",
    "gatsby-transformer-remark": "^2.16.0",
    "gatsby-transformer-sharp": "^2.12.0",
    "prismjs": "^1.23.0",
    "prop-types": "^15.7.2",
    "react": "^16.13.1",
    "react-dom": "^16.12.0",
    "react-helmet": "^6.1.0",
    "react-multilevel-sidebar": "^1.0.4",
    "remark-grid-tables": "^2.1.1",
    "sass": "^1.32.4"
  },
  "engines": {
    "node": ">=15.0.0 <=15.8.0"
  },
  "devDependencies": {
    "node-sass": "^5.0.0",
    "prettier": "2.2.1"
  }

我面临的错误:

/app/src/blog/2019-02-19-gridsome-05/plugins.png
 

  Error: Input file contains unsupported image format

围绕该错误没有太多可用的详细信息 - 任何帮助将不胜感激。我觉得这可能是一个 C 库问题,因为 Gatsby 插件是动态构建并利用 C/CPP 库的。

4

1 回答 1

2

最终解决了这个问题 - 在这里留下问题的原因,以便它可以帮助其他人 - 我使用的是 NodeJS - 15.8.0-slim 基础图像。Gatsby Plugin Sharp 依赖于幕后的 C 库和二进制文件,这些库和二进制文件并未真正包含在 Slim 基础映像中。我使用了 15.8.0-buster 图像,效果很好。

该日志极具误导性,最终浪费了我很多时间。希望这可以节省其他任何人的时间。

于 2021-02-12T10:22:57.673 回答