请求: 目标官方包生成工具
作者: mcandre创建于 2026年2月5日更新于 2026年4月22日
不幸的是, fpm 的雄心勃勃的目标是从头开始生成包,这会导致 bitrot 的问题。即使 fpm 完全实现了每种包类型的所有可能的元数据选项,也会导致包系统最终在以后破坏兼容性。到那时,我们需要耗费大量的开发工作来恢复我们的低级实现。通常会发生多次,每次上游都会发生变化。我认为 nfpm、goreverser 等也采用了同样的方法。作为开发人员,我也犯了这个错误。我不喜欢在可能的情况下依赖额外的依赖项或额外的依赖项。但是,尝试重新实现这些低级细节是有成本的。对于每个包管理系统,都不存在完美的 Ruby、Go 和 Rust API。这就是为什么我最近转向提高 rockhopper 的抽象层次,将其提升到容器级别,在那里,为每个分发版本生成包的工具都是简单的。虽然仍会出现问题,但大多数问题都会由分发版本的内置构建工具自动解决。因此,我们可以缓解 90% 的破坏性更改。计划为主机 shell 包构建命令提供一个选项,以将 macOS 混入其中。
内容来源: jordansissel/fpm