跳转到内容

版本兼容矩阵

复制本页

本手册用 Go/govips 作为参考实现,并锁定在固定版本。四个常用入口各自捆绑或链接的 libvips 并不相同,因此结果比较不能假定逐字节一致。

本页是当前测试基线的快照;若要按日期查看各项目的重要版本与功能演进,请前往 VIPS 生态时间线。

角色 组件 版本 备注
参考 govips v2.19.0 绑定到系统 libvips 8.17.3
参考 libvips 8.17.3 系统安装,与 pyvips、CLI 共用
比较 sharp 0.35.5 自带捆绑的 libvips 8.18.7
比较 pyvips 3.2.0 链接系统 libvips 8.17.3
比较 vips CLI 8.17.3 与参考共用系统 libvips

2026-10-12 在 Fedora Linux 43 上核对的运行时:Node.js 24.14.1、Go 1.27.0、Python 3.14.5。同一天,已执行的缩略图示例给出了上表中的 binding 与 libvips 组合。

sharp 把编译好的 libvips 一并打包发布。因此 sharp 的 libvips 版本(8.18.7)与系统 libvips(8.17.3)不同,即使对相同输入编写相同意图的代码,sharp 与 govips/pyvips/CLI 的编码结果也可能存在合理差异。比较时不得假定逐字节一致。

pyvips 和 vips CLI 则链接系统 libvips 8.17.3,与参考实现共享同一个库,预期输出高度接近。

  • 当前比较核对尺寸、格式、通道和文件大小,不把像素一致当作已经完成的结论。
  • 缩略图那次执行里,四份输出都是 640 × 427 的 WebP;govips 36,172 字节,sharp 35,924 字节,pyvips 与 CLI 都是 39,228 字节。
  • 这种差异仍标为待像素比较。版本敏感结论必须写明 libvips、binding 和复核日期,不要推广到所有版本。
  • 需要较新 libvips 才有的 op(见故障排查中 install-failures / missing-codec)。
  • sharp 自带 libvips 与系统 libvips 的版本差导致行为差异时,应以锁定的参考基线为准。
  • 升级任何 binding 或 libvips 后,请更新本矩阵并重新验证相关 Recipe。

本页是 2026-10-12 的版本快照。升级任何一个组件后都要重新执行并改写本表。