homebrew-core/php 和 shivammathur/homebrew-php 之间的区别

Pro*_*tas 7 php homebrew

Homebrew 拥有适用于所有 PHP 版本的内部 PHP 公式。

brew install php
brew install php@8.0
...
Run Code Online (Sandbox Code Playgroud)

但还有一个点击 ( shivammathur/homebrew-php) 可用于安装 PHP 版本。

brew tap shivammathur/php
brew install shivammathur/php/php
brew install shivammathur/php/php@8.0
...
Run Code Online (Sandbox Code Playgroud)

我遇到过一个博客,内容如下:

您可以使用内置的 php 配方,但我建议使用 shivammathur/homebrew-php Tap。

这让我想知道它存在背后的原因是什么shivammathur/homebrew-php,而且为什么它比内部公式更值得推荐?

fn *_*ion 14

提供的 PHP 版本shivammathur/homebrew-php:5.6、7.0、7.1、7.2、7.3、7.4、8.0、8.1、8.2、8.3

\n

提供的 PHP 版本homebrew/homebrew-core:7.4、8.0、8.1、8.2

\n

请注意,官方homebrew/homebrew-coreTap 没有预发布的 8.3 版本以及较旧的 5.6、7.0、7.1、7.2 和 7.3 版本。因此,不建议依赖homebrew/homebrew-core特定的 PHP 版本,因为它们可能目前不可用或将来被删除。对于这种情况,可以使用第三方水龙头,例如shivammathur/homebrew-php对于这种情况,应改用(理想情况下,开发人员应该更新他们的应用程序以与最新的稳定 PHP 版本兼容,但有时这需要很长时间,甚至可能是不可能的。)

\n

为什么安装旧版本的 homebrew-core 软件包如此困难?

\n
\n

Homebrew 的理念是我们不太关心旧版本的软件。这就是 Homebrew 的设计方式,\n以及它在过去 10 年中的运作方式。

\n

有些人将 Homebrew 与 virtualenvs / conda / nix 混淆,后者肯定为旧版本和不同的构建环境提供了更好的支持。我们不会这样做,并且在可预见的将来也不打算这样做。\n 我们的观众也不一样。

\n

但是 Homebrew 中对旧版本的支持并非完全为零:如果您想维护旧公式,您可以在 Tap 中托管旧公式,或者我们有一些版本化公式(例如 python@3.8 和 python@3.7),因为我们认为这些非常重要并且值得我们维护\n。但我们尽量避免太多,并且版本化公式有严格的\n规则。

\n

因此,为您的公司构建您自己的自制公式集合是完全可行的。几天/几周前,我们甚至引入了构建\n瓶子并自行托管(免费)的可能性:\n https://brew.sh/2020/11/18/homebrew-tap-with-bottles-uploaded-到-github-releases/

\n
\n

来自可接受的公式 \xc2\xb6 利基(或自我提交)的东西

\n
\n

有问题的软件必须:

\n
    \n
  • 得到维护(即最后一个版本是 \xe2\x80\x99 年前的,它无需在所有 Homebrew 支持的操作系统版本上打补丁即可工作,并且没有\n未修补的未修补的安全漏洞)
  • \n
  • 被知道
  • \n
  • 稳定(例如上游未声明 \xe2\x80\x9cunstable\xe2\x80\x9d 或 \xe2\x80\x9cbeta\xe2\x80\x9d)
  • \n
  • 使用
  • \n
  • 有一个主页
  • \n
\n

我们会拒绝那些看起来太晦涩的公式,部分原因是它们不会\xe2\x80\x99 得到维护,部分原因是我们必须在某个地方划清界限。

\n
\n

  • 我创建了 shivammathur/php tap 来提供不在 homebrew/core 上的 PHP 版本,并带有向后移植的安全补丁。为了完整起见,tap 还具有 PHP 版本,位于 homebrew/core 上。您可以随意使用核心水龙头或我的水龙头。对于普通版本,两者具有相同的代码并且构建相似,因此不存在技术差异。 (9认同)