自制软件,macports或其他软件包安装工具的区别/用法是什么?

我刚刚从Ubuntu切换到Mac。 我很失望, sudo apt-get在Ubuntu没有方便的sudo apt-get 。 我听说我应该使用自制软件,但是我不确定自制软件或者macports是做什么的?

MacPorts是要走的路。

  1. 像@ user475443指出的那样,MacPorts有很多更多的软件包。 随着酿造,你会发现自己很快陷入困境,因为你需要的公式不存在。

  2. MacPorts是一个本地应用程序:C + TCL。 你根本不需要Ruby。 要在Mac OS X上安装Ruby,您可能需要MacPorts,所以只需要使用MacPorts即可。

  3. MacPorts非常稳定,8年来我从来没有遇到任何问题,而且我的整个Unix生态系统都在继续。

  4. 如果您是一名PHP开发人员,您可以安装最新版本的Apache(Mac OS X使用2.2),PHP和所需的所有扩展,然后使用一个命令升级所有扩展。 忘记做同样的家酿。

  5. MacPorts支持组。

     foo@macpro:~/ port select --summary Name Selected Options ==== ======== ======= db none db46 none gcc none gcc42 llvm-gcc42 mp-gcc48 none llvm none mp-llvm-3.3 none mysql mysql56 mysql56 none php php55 php55 php56 none postgresql postgresql94 postgresql93 postgresql94 none python none python24 python25-apple python26-apple python27 python27-apple none 

    如果你同时安装了PHP55和PHP56(有许多不同的扩展名),你可以用一个命令在它们之间进行交换。 所有相关的扩展都是组的一部分,它们将在选定的组中激活:php55或php56。 我不确定Homebrew有这个function。

  6. Rubists喜欢重写Ruby中的所有内容,因为他们唯一感到轻松的就是Ruby本身。

Homebrew和macports都解决了同样的问题 – 那就是安装不与osx捆绑的公共库和实用程序。

通常这些是与开发相关的库,这些工具最常见的用途是为在OSX上工作的开发人员。

他们都需要安装xcode命令行工具(您可以从https://developer.apple.com/中单独下载),对于某些特定的软件包,您将需要安装整个xcode IDE。

xcode可以从Mac应用程序商店安装,它的免费下载,但它需要一段时间,因为它约5GB(如果我没记错的话)。

macports是BSD的port实用程序的osx版本(因为osx是从BSD派生的,这是一个很自然的select)。 对于任何熟悉BSD发行版的人来说,macports都会感到宾至如归。

自制软件和macports之间的一个主要区别是 而我更喜欢自制软件的原因是它不会覆盖应该在osx中​​“本地”安装的东西。 这意味着,如果有本地软件包可用,自制软件将通知您,而不是覆盖它,并导致更多的问题。 它也安装库在用户空间(因此,你不需要使用“sudo”来安装东西)。 这有助于摆脱图书馆,因为一切都在一个可以访问的path。

自制软件还享有更加活跃的用户社区,软件包(称为公式)经常更新。


macports不会覆盖原生的OSX软件包 – 它提供了自己的版本 – 这是我比MacBook更喜欢自制的主要原因,你需要确定你正在使用的是什么,以及苹果在不同时间对端口的改变,要比一些项目的更新落后好几年

你可以给一个参考,显示macports覆盖原生OS X包? 据我所知,所有macports安装发生在/opt/local

也许我应该澄清 – 我没有在我的回答中说macports覆盖OSX本地软件包。 他们都分开安装项目。

Homebrew会警告你什么时候应该“本地”安装(使用库/工具的首选安装程序)以获得更好的兼容性。 这就是我的意思。 它也将使用许多在OS X中可用的本地库。从wiki :

我们真的不喜欢在自制软件/自制软件中使用

但是,我们喜欢在水龙头中的模仿!

OS X附带的东西,或者是由RubyGems,CPAN或PyPi提供的库不应该被欺骗。 这有很好的理由:

  • 重复的库经常打破构build
  • 微妙的错误出现与重复的库,并在较小的程度上,重复的工具
  • 我们希望您能够更努力地使您的配方与OS X一起使用

您可以select用自制软件覆盖macosx提供的实用程序版本。

默认情况下,Homebrew将软件包安装到/ usr / local目录。 Macport命令需要sudo来安装和升级(类似于Ubuntu中的apt-get)。

更多细节:

本网站build议使用Hombrew: http ://deephill.com/macports-vs-homebrew/

而本网站列出了使用Macports的优势: http ://arstechnica.com/civis/viewtopic.php ? f=19&t=1207907

我也是最近从Ubuntu切换过来的,我喜欢使用自制软件(它简单易用!),但是如果你觉得使用sudo,Macports可能是更好的select!

目前,Macports拥有比自制软件(约3.1K)更多的软件包(约18.6K),因为它的成熟度很高。 家酿虽然慢慢赶上。

Macport包倾向于由一个人维护。

Macports可以保留多个版本的软件包,您可以启用或禁用它们来testing。 有时这个列表可能会被破坏,你必须手动编辑它才能恢复正常,尽pipe这并不难。

包pipe理者都会要求定期更新。 这可能需要一些时间。

注意:你可以在你的系统上有两个包pipe理器! 这不是一个或另一个。 Brew可能会抱怨,但Macports不会。

另外,如果您正在处理Python或Ruby包,则尽可能使用虚拟环境。