这个问题已经在这里有了答案:
我一直使用MacPorts来安装和维护我的GCC编译器和其他程序。现在,我已经听说过芬克和自制啤酒。似乎这两个实用程序在Mac社区中正在普及,但我不了解它们之间的区别。
MacPorts,Fink和Homebrew之间的主要区别是什么?在质量或性能上有什么区别吗?
这个问题已经在这里有了答案:
我一直使用MacPorts来安装和维护我的GCC编译器和其他程序。现在,我已经听说过芬克和自制啤酒。似乎这两个实用程序在Mac社区中正在普及,但我不了解它们之间的区别。
MacPorts,Fink和Homebrew之间的主要区别是什么?在质量或性能上有什么区别吗?
Answers:
至少自2001年芬克芬克已经和周围的MacPorts是想成为“垂直”的制度,即包管理器,它们安装自己的版本python
,perl
,库,编译器等,在自己的树(/ SW为Fink,对于MacPorts是/ opt / local)。这样做的原因是他们无法控制Apple使用其软件的功能,并且有时在Apple更新自己的产品时会破坏事情。
据我了解,Homebrew希望与系统进行更多的“集成”,使用Apple提供的库,并将其内容安装在/usr/local/bin
其他标准文件夹中。我想这意味着Homebrew的软件选择更加有限,我无法想象有人可以在其中安装KDE,但是我还没有尝试过。
Fink与MacPorts的一点:几年前,Fink项目提供了二进制程序包。也就是说,您可以下载并安装软件包,而无需自己编译。它的程序包管理器仍然具有这种能力,只是很长时间没有二进制文件了。我不知道在此期间情况是否有所改变。
简而言之:没有二进制文件,Fink和MacPorts非常相似。与Homebrew相比,它们应具有更多可用的软件包,而出于上述原因,Homebrew应该占用较少的磁盘空间。关于质量:我从未安装过Homebrew,在Fink和MacPorts之间,我通常更喜欢我目前不使用的产品。
因此,如果您对MacPorts感到满意,那就坚持下去。
PS我从未尝试过Homebrew的原因是我使用了一些预编译的软件包。这些通常还会将自己安装到/ usr / local / bin等中,这只会引起麻烦。
我要说的主要区别是:
天意,结果和分配方法。
最重要的细节将让您检查选择的系统是否包含所需软件的软件包。包裹数大约为:19k Macports,22k Fink,3k Homebrew,10k pkgsrc。
/opt/local
可能不会被其他安装程序软件包或系统升级所影响。dpkg
并且apt-get
主要的优点是可以可靠地找到二进制软件包。包含您当前OS版本的二进制文件的存储库。它也来自达尔文用户群,但是可能更受那些来自Debian Linux(用于Mac或PPC)的人的青睐,他们希望获得更稳定的硬件支持……持续下去。/sw
出于不会覆盖或覆盖其他安装程序可能安装的内容的原因,它将软件包安装到其中。还有一些关于编译器搜索路径和默认PATH
包含的内容/usr/local/bin
。/usr/local
我认为这是启动的,比其他的要新。我个人发现我最常使用此软件包,因为我很少需要相互依赖的软件包,而且我不清楚mac homebrew如何支持它。Homebrew的目的是迫使您对来自紧密耦合的管理器(例如cpan,gems等)的软件使用更合适的软件包管理器。/
但可以在中构建和维护软件包/pkg
。可能有很多软件包(例如12k),大约有20%的软件包可能无法构建,或者源的最新版本可能没有使用最新维护的补丁进行补丁。这就是为什么在这类系统中我偏爱二进制软件包的原因。我还使用了perlbrew,它是perlrew的一种自制软件perl
,内置于perl和一些依赖项中。这主要是维护多个版本的perl的好方法,并且方便地取消了对其他更通用的软件包系统的需求(出于其目的)。但是当然还有cpan和cpanminus。
您可能会为自己的迷你环境找到类似的经理(例如vund代表vim,gem代表ruby,npm代表node.js,pypm或pip代表python,go内置go install
...等等?)
Fink和MacPorts是直接竞争对手,因为它们安装了正交系统。几年前,芬克在MacPorts上失去了相当大的基础。我不完全确定为什么会这样,但是MacPorts几乎可以处理所有问题。
现在,由于Mac OS X少了疯狂的裤子,我们没有理由进行正交安装。Brew是为了与Mac OS X更好地集成而创建的,从而使其更轻巧,正交性更小,并且还因为Rubyist重写了所有内容。
实际上,MacPorts有点复杂,但是MacPorts几乎总是可以工作,而Brew则更简单,但更有可能碰到砖墙。
问问自己这些问题:
是的,建议您选择MacPorts。如果您安装相对较少的通用软件包,Brew的开销会更少,但是Brew不会处理复杂性。酿造污染/usr/local
您可能也需要手动安装。实际上,MacPorts有更详细的参数,但是如果您回答“否”,它们可能也不适用。
相反,如果您回答是,但是您的主计算机运行Linux,而Mac仅是运行最少Linux软件的玩具,那么实际上,使用Brew可能会做得更好。
但是,请注意,与Apple OS X相关的任何事情都不会将其自身安装到/ usr / local / bin中。他们在后台使用/ usr / lib,/ usr / bin,框架被打包到/ Library / Frameworks,而您通过常规Unix安装自己的东西./configure、make、make install将使用/ usr / local / bin等,以及MacPorts之类的实用程序将使用/ opt /,还可能将框架打包到您的个人〜/ Library / Frameworks /中。
我的建议是,如果您习惯使用MacPorts,请继续使用。基本上,主要的区别是MacPorts使用的系统与FreeBSD的端口更类似于真正的Unix / BSD端口树实现,而Fink使用从Linux Debian档案文件移植的应用程序,并使用与Linux Debian相同的软件包管理器系统。