Gatsby Plugin 在 MacOS 上构建良好,但在 Debian 容器上失败

如何解决Gatsby Plugin 在 MacOS 上构建良好,但在 Debian 容器上失败

我将 Gatsby Plugin 与其他插件一起用于注释图像。下面提供了 json 包。

奇怪的是,构建在 MacOS 上运行良好,但在 Debian docker 容器中失败,同时尝试获取 PNG 图像的元数据。 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 库。

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?