如何在 Mac 上安装软件包?(MacPorts、Fink,还有更好的吗?)

Sop*_*ert 41 package-management macports fink homebrew macos

在我的 Mac OS X 机器上,您如何推荐我安装命令行软件和其他软件包?我一直在使用 MacPorts,它似乎总是很慢,大概是因为它必须即时编译软件包。

我更喜欢有二进制包的包管理系统,这样我每次想下载新东西时都不需要编译。我认为 Fink 有一些软件包的二进制文件,但我通常看到推荐使用 MacPorts 作为系统。

你认为哪个效果更好,为什么?(或者还有其他我没听说过的系统吗?)

jti*_*man 27

我曾经使用 Macports 是因为:

  • 它通常是最新的
  • Macports 似乎更常见/流行
  • 与我共事的其他人都使用它

去年秋天我拿到 MBP 时,当我对这个主题进行了自己的研究时,Macports 似乎是最常被推荐的原因,原因 #1,因此原因 #2(也可能是原因 #3)。

编译每个包并不困扰我。它通常足够快,不会干扰工作。但是如果您打算使用 macports,您可能会查看端口二进制文件

但是,我不再使用 Macports。

这个领域还有一个名为 Homebrew的新工具。几周前我从 Macports 切换到 Homebrew,我很高兴。我喜欢:

  • 它不安装重复的库——它使用系统现有的库。
  • 它安装在用户主目录中 - 不需要 sudo 并备份到 TimeMachine。

Homebrew 适用于 Leopard 或 Snow Leopard,但有时需要在 Leopard 上修改公式。

我想我所有的同事现在都改用 Homebrew 了。它也在 Ruby 和 Erlang(可能还有其他 OSS?)社区中获得关注。

  • 重新自制不复制库 - 我会读为什么 Macports 使用自己的副本 http://trac.macports.org/wiki/FAQ#ownlibs (4认同)

小智 14

您不必在两者之间进行选择。

MacPorts 将软件安装到 /opt/local。Fink 安装到 /sw。

两者都保持达尔文基础系统不变,两者可以和平共处。

Fink 的二进制包很棒,但它们并不总是最新的。当他们有最新的软件包时,我倾向于使用 Fink,如果他们没有,我会从 MacPorts 构建。

有些包只在一个或另一个上,因此将它们都准备好会很方便。

  • 你如何处理依赖关系?如果 fink 包 A 和 MacPorts 包 B 都依赖于 libThing,你最终会得到两个版本的 libThing(每个包管理器一个)? (3认同)
  • 但是,我的问题仍然存在。你没有提供任何关于我应该在哪些情况下使用的押韵或理由。 (2认同)