我最近刚从Ubuntu换到Mac。我对mac在Ubuntu中没有方便的sudo apt-get感到失望。我听说我应该使用自制的,但我不确定自制的或macports做什么?
sudo apt-get
默认情况下,Homebrew将包安装到您的/usr/local。Macport命令需要sudo来安装和升级(类似于Ubuntu中的apt-get)。
详情如下:
本网站建议使用Hombrew: http://deephill.com/macports-vs-homebrew/
而本网站列出了使用Macports: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907的优点
我最近也从Ubuntu换了,我喜欢使用自制的(它简单易用!),但如果你喜欢使用sudo, Macports可能是更好的选择!
Homebrew和macports都解决了同样的问题——那就是安装没有与osx捆绑的公共库和实用程序。
通常这些是与开发相关的库,这些工具最常见的用途是用于osx的开发人员。
它们都需要安装xcode命令行工具(你可以从https://developer.apple.com/单独下载),对于某些特定的包,你需要安装整个xcode IDE。
xcode可以从mac应用商店安装,它是免费下载的,但它需要一段时间,因为它大约5GB(如果我没记错的话)。
macports是来自BSD的端口实用程序的osx版本(因为osx源自BSD,这是一个自然的选择)。对于任何熟悉BSD发行版的人来说,macports都是很熟悉的。
homebrew和macports之间的一个主要区别;我更喜欢自制的原因是它不会覆盖应该在osx中“本地”安装的东西。这意味着,如果有可用的本机包,homebrew将通知您,而不是覆盖它,从而导致进一步的问题。它还在用户空间安装库(因此,你不需要使用“sudo”来安装东西)。这也有助于摆脱库,因为所有东西都在你可以访问的路径上。
Homebrew还拥有更活跃的用户社区,它的软件包(称为公式)也经常更新。
macports不覆盖本机OSX包-它提供自己的包 版本-这是我更喜欢macports而不是自制的主要原因 你需要确定你在使用什么,以及苹果的变化 不同时间的港口,已经知道是落后的岁月 一些项目的更新 你能给一个参考显示macports覆盖本机OS X 包吗?据我所知,所有的macports安装都是在 /opt/local < / p >
macports不覆盖本机OSX包-它提供自己的包 版本-这是我更喜欢macports而不是自制的主要原因 你需要确定你在使用什么,以及苹果的变化 不同时间的港口,已经知道是落后的岁月 一些项目的更新
你能给一个参考显示macports覆盖本机OS X 包吗?据我所知,所有的macports安装都是在 /opt/local < / p >
/opt/local
也许我应该澄清一下——在我的回答中,我并没有说macports会覆盖OSX本机包。它们都分别安装项目。
为了更好的兼容性,当你应该“本地”安装(使用库/工具的首选安装程序)时,Homebrew会警告你。这就是我的意思。它还将使用OS x中可用的尽可能多的本地库。
我们真的不喜欢家酿/家酿的傻瓜 然而,我们确实喜欢被愚弄的人! OS X附带的东西或由 RubyGems, CPAN或PyPi不应该被欺骗。有很好的理由 : < / p > 重复的库经常破坏构建 细微的错误会出现在重复的库中,在较小程度上,重复的工具也会出现 我们希望你能更努力地让你的公式适用于OS X自带的东西
我们真的不喜欢家酿/家酿的傻瓜
然而,我们确实喜欢被愚弄的人!
OS X附带的东西或由 RubyGems, CPAN或PyPi不应该被欺骗。有很好的理由 : < / p >
你可以用自制工具(可选)覆盖macosx提供的实用程序版本。
目前,由于其成熟度,Macports的软件包(~18.6 K)比Homebrew公式(~3.1K)多得多。不过,Homebrew正在慢慢赶上来。
Macport包往往由一个人维护。
Macports可以保留多个版本的包,你可以启用或禁用它们来测试。有时这个列表可能会损坏,您必须手动编辑它以使内容恢复正常,尽管这并不太难。
两个包管理器都要求定期更新。这可能需要一些时间。
注意:在您的系统上可以同时拥有两个包管理器!这不是其中之一。Brew可能会抱怨,但Macports不会。
此外,如果您正在处理python或ruby包,尽可能使用虚拟环境。
MacPorts是正确的选择。
就像@user475443指出的,MacPorts有很多很多包。使用brew,你很快就会发现自己被困,因为你需要的公式不存在。
MacPorts是一个原生应用程序:C + TCL。你根本不需要鲁比。要在Mac OS X上安装Ruby,你 可能需要MacPorts,所以只使用MacPorts,你会很高兴的。
MacPorts真的很稳定,8年来我从来没有遇到过问题,我的整个Unix生态系统都依赖于它。
如果你是一个PHP开发人员,你可以安装最新版本的Apache (Mac OS X使用2.2),PHP和所有你需要的扩展,然后用一个命令升级。忘记在Homebrew上做同样的事情。
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是否有这个功能
Ruby爱好者喜欢用Ruby重写所有东西,因为他们唯一放心的就是Ruby本身。