我刚刚从Ubuntu切换到Mac。我很失望mac在Ubuntu中没有方便的sudo apt-get
。我听说我应该使用自制软件但是我不确定自制软件或macports有什么作用?
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有这个功能。Homebrew和macports都解决了同样的问题 - 即安装了未与osx捆绑在一起的公共库和实用程序。
通常这些是与开发相关的库,这些工具的最常见用途是针对在osx上工作的开发人员。
它们都需要安装xcode命令行工具(可以从https://developer.apple.com/单独下载),对于某些特定的软件包,您需要安装整个xcode IDE。
xcode可以从mac app store安装,免费下载但需要一段时间,因为它大约5GB(如果我没记错的话)。
macports是BSD端口实用程序的osx版本(因为osx源自BSD,这是一个自然的选择)。对于任何熟悉任何BSD发行版的人来说,macports都会感到宾至如归。
自制软件和macports之间的一个主要区别;我更喜欢自制软件的原因是它不会覆盖应该在osx中“本机”安装的东西。这意味着如果有可用的本机包,则自制软件将通知您,而不是覆盖它并导致问题进一步发生。 它还在用户空间中安装库(因此,您不需要使用“sudo”来安装)。这有助于摆脱库,因为一切都在您可以访问的路径中。
homebrew也享有更活跃的用户社区,其包(称为公式)经常更新。
macports不会覆盖本机OSX软件包 - 它提供自己的版本 - 这是我更喜欢macports而不是home-brew的主要原因,你需要确定你正在使用什么以及Apple在不同时间对端口的更改并且已经知道在一些项目中更新数年
你能给出一个参考,显示macports会覆盖原生OS X包吗?据我所知,所有的macports安装都发生在
/opt/local
也许我应该澄清一下 - 我在答案中没有说macports会覆盖OSX原生包。他们都分别安装项目。
当你应该“本地”安装东西时(使用库/工具的首选安装程序),Homebrew会警告你,以获得更好的兼容性。这就是我的意思。它还将使用OS X中可用的许多本地库。来自wiki:
我们真的不喜欢Homebrew / homebrew中的欺骗
但是,我们确实喜欢自来水!
OS X附带的东西或RubyGems,CPAN或PyPi提供的库不应该被欺骗。这有很好的理由:
- 重复的库会定期破坏构建
- 重复的库会出现细微的错误,并且在较小的程度上会出现重复的工具
- 我们希望您更加努力地使您的配方与OS X一起使用
您可以选择使用自制软件覆盖macosx提供的实用程序版本。
目前,由于其成熟度,Macports拥有比Homebrew公式(~3.1K)更多的包(~18.6 K)。 Homebrew正在慢慢追赶。
Macport套餐往往由一个人维护。
Macports可以保留多个版本的软件包,您可以启用或禁用它们来测试。有时候这个列表可能会被破坏,你必须手动编辑它才能恢复原状,尽管这并不难。
包管理员都会要求定期更新。这可能需要一些时间。
注意:您可以在系统上同时拥有两个包管理器!它不是一个或另一个。 Brew可能会抱怨,但Macports不会。
此外,如果您正在处理python或ruby包,请尽可能使用虚拟环境。
默认情况下,Homebrew会将软件包安装到您的/ usr / local。 Macport命令需要sudo来安装和升级(类似于Ubuntu中的apt-get)。
有关详细信息:
本网站建议使用Homebrew:qazxsw poi
而这个网站列出了使用Macports的优势:http://deephill.com/macports-vs-homebrew/
我最近也从Ubuntu切换,我喜欢使用自制软件(它简单易用!),但是如果你觉得使用sudo,Macports可能是更好的方法!