Homebrew vs Fink vs Macports?

zen*_*ngr 37 macports fink homebrew macos

我正在使用 Fink 在我的 Mac 上安装 Unix 应用程序,我刚遇到 Homebrew 并看到了一些关于 Homebrew 的好评。

所以,我的问题是:

  1. 你们在 Mac 上使用什么包管理器?
  2. 我目前使用 Fink,那么从 Fink 到 Homebrew 的转变真的值得吗?
  3. 如果 2. 是真的,那为什么?

chu*_*rnd 18

恕我直言,Homebrew 的问题在于它试图以一种从未打算使用的方式使用 /usr/local:由 root 以外的用户拥有。虽然我理解自制软件开发人员注意不要在 /usr/local 中使用其他任何东西,但安装到 /usr/local 的任何其他东西都不会对 Homebrew 做同样的事情。这可能会导致问题,并且对我来说......通常是由于安装其他软件而导致的权限问题,这些软件根据“它们应该如何”在 /usr/local/ 上设置权限。您永远不会看到另一个软件包希望 /usr/local/ 由 root 以外的单个用户拥有,那么为什么 Homebrew 呢?为什么不直接使用~/bin

另外,关于 Fink & MacPorts 为什么编译自己的库的一个鲜为人知的事实:

MacPorts 使用自己的库有几个原因。它使端口在不同版本的 Mac OS X 中更加一致。例如,如果我们可以依赖 MacPorts 的 openssl 1.0.0,我们就不必为每个可用的 openssl 安装测试每个需要 ssl 的端口。Apple 的软件往往会时不时地崩溃(例如,openssl 拒绝使用旧的 zlib 构建,但有一段时间 Apple 发布了易受攻击的 zlib 版本的旧头文件)。即使 Apple 的版本没有损坏,它们也很少是最新的。Apple 习惯于在安全漏洞绝对需要之前不更新 Mac OS X 中的库。

这个策略的缺点是最小的:如果你有一个多 GB 的硬盘,那么为 Python 安装浪费几兆字节几乎没有什么,而且随着计算机速度的提高,构建额外端口所需的时间会减少。

因此,虽然 Homebrew 可以更快地安装您想要的东西,但使用预先构建的 Apple 系统库可能会产生其他不良副作用。

再次,我讨厌挖掘 Homebrew。我喜欢这个软件,我认为它在某些方面很棒,但它目前也有缺点。

  • 不,我没有做错。由普通用户拥有 /usr/local 的做法是错误的。您永远不会在任何其他基于 *nix 的软件中看到这一点。我见过的所有其他软件包都尊重 /usr/local 的 root:wheel 所有权。为什么甚至接管 /usr/local 呢?如果必须(尽管使用 sudo),为什么不使用 /opt/homebrew 并将内容链接到 /usr/local/bin 或 /usr/local/lib ?给用户选择权,但如果他们想将事情分开,不要破坏事情。根据他们的选择相应地设置他们的环境。一切都和平共处。双赢。 (8认同)

小智 15

由于其简单/速度,我更喜欢自制软件——我的工具目前似乎正在快速更新。

它是我使用过的最轻松的基于源代码的包管理工具,而且开发似乎非常活跃。你还能想要什么?

(是的,所有丢失的应用程序)


小智 7

我同时使用 Fink 和 Macports。两者都像魅力一样工作。

但我可能会向不那么专业的用户推荐 Homebrew,他们只是从 Windows 迁移,因为它明显简单。

  • 另一个投票给 Homebrew。最后是一个不想安装全新操作系统的包管理器。 (3认同)