pkgsrc、Homebrew、Fink 和 MacPorts 可以和平共处吗?

pkgsrc、Homebrew、Fink 和 MacPorts 可以和平共处吗?

我听说有些人喜欢同时使用 Fink 和 Macports,因为有些软件包只存在于其中一个中,而不存在于另一个中。

最近,我在使用 MacPorts 构建和运行 GRASS 和 Digikam 等软件包时遇到了麻烦,因此我开始寻找替代方案。

只是想知道:pkgsrc 和 Homebrew 是否也能与它们共存并很好地运行?

我仍在尝试包管理器,并且喜欢在确定一两个之前探索所有的可能性。

谢谢!

答案1

如果 Homebrew 安装在 中,则在从源代码构建软件时会出现问题/usr/local。这是默认设置,这是一个糟糕的选择,因为此路径位于编译器和其他工具的默认搜索路径中。因此,从其他打包软件构建的软件可能会选择错误的依赖项,使用 Homebrew 的版本而不是自己的版本。

几年前,在项目刚开始时,甚至 MacPorts 也在使用/usr/local。但事实证明,它无法与其他工具配合使用,如其文档中所述常问问题。不幸的是,Homebrew 开发人员不想听到以前的经验并忽略了这些事实......

一般情况下,最好只使用一种工具来避免所有问题。MacPorts 正在尽力修补任何硬编码路径,例如/swFink 使用的路径。因此通常它可以正常工作,但安装任何东西/usr/local都肯定会导致问题。

我对 pkgsrc 了解不够多,无法判断它是否真的受到同样的影响,但我最好的猜测是这个问题也适用于它。

似乎没有发现任何漏洞数码相机或者在 MacPorts 中。你应该直接向他们报告你的问题新票获得帮助。

答案2

确实,混合使用软件包管理器会让人头疼。但是,我同时使用 Homebrew 和 MacPorts,效果很好因为我的 Homebrew 中有少量的包。我唯一拥有的是 MacPorts 中尚未提供的最终用户程序。例如:gistdashing, 和sqldiff。如果您将一个或另一个包管理器中的内容保持在最低限度,那么麻烦就会减少。

不过,实际上,这样做的唯一理由是当您需要一个包,而给定的包管理器中没有可用的包时。就我个人而言,我发现 MacPorts 拥有我需要的绝大多数程序,而且它在很多方面都比 Homebrew 成熟得多。它也更容易做出贡献,规则不那么严格,并且拥有一门很好的脚本语言(Tcl,它真的和 Ruby 一样好)。MacPorts 比 Homebrew 还有许多其他优势,但我先到此为止了。

相关内容