【发布时间】:2012-06-04 16:59:42
【问题描述】:
Twelve-Factor App 宣言说它适用于 Web 应用程序,“......与底层操作系统有清晰的合同,在执行环境之间提供最大的可移植性”[强调由我添加]
然后it says:
十二因素应用也不依赖于任何隐含的存在 系统工具。示例包括向
ImageMagick或curl发起攻击。 虽然这些工具可能存在于许多甚至大多数系统上,但没有 保证它们将存在于应用程序可能运行的所有系统上 未来,或者在未来系统上找到的版本是否会是 与应用程序兼容。如果应用程序需要向系统提供外壳 工具,该工具应该被供应到应用程序中。
他们之前将“供应商”定义为:
作用于包含应用程序的目录(称为“供应商”或 “捆绑”)。
当(至少在 Linux 上)本机 64 位可执行文件不能在 32 位环境中运行时,应该怎么做?更不用说在其他操作系统上运行了?或者有没有更好的方法来处理这个可移植性问题?
【问题讨论】:
-
另外,他们似乎没有考虑到您可能在 Windows 上进行开发并想要执行“系统工具”的可能性。与许多其他 EULA 一样,Windows EULA 禁止销售!
标签: dependencies native-code 12factor