我最近刚从Ubuntu切换到Mac。我对Mac sudo apt-get
在Ubuntu 中没有便利感到失望。我听说我应该使用自制软件,但我不确定是要使用自制软件还是macports?
我最近刚从Ubuntu切换到Mac。我对Mac sudo apt-get
在Ubuntu 中没有便利感到失望。我听说我应该使用自制软件,但我不确定是要使用自制软件还是macports?
Answers:
MacPorts是必经之路。
就像@ user475443指出的那样,MacPorts还有许多其他软件包。使用brew,您很快就会陷入困境,因为所需的配方不存在。
MacPorts是本机应用程序:C + TCL。您根本不需要Ruby。要在Mac OS X上安装Ruby,您可能需要MacPorts,因此只要使用MacPorts,您就会很高兴。
MacPorts确实很稳定,八年来我从来没有遇到过问题,我的整个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本身。
Homebrew和macports都解决了相同的问题-即未与osx捆绑在一起的公共库和实用程序的安装。
通常,这些是与开发相关的库,这些工具最常见的用途是供使用osx的开发人员使用。
他们俩都需要安装xcode命令行工具(可以从https://developer.apple.com/单独下载),对于某些特定的软件包,您将需要安装整个xcode IDE。
可以从Mac应用商店中安装xcode,可以免费下载xcode,但由于它的大小约为5GB,因此需要一段时间(如果我没记错的话)。
macports是BSD的port实用程序的osx版本(因为osx是从BSD派生的,所以这是很自然的选择)。对于熟悉任何BSD发行版的任何人,macports都会给您家的感觉。
自制软件和Macports之间的一大区别;我之所以喜欢自制软件,是因为它不会覆盖应该在osx中“本机”安装的内容。这意味着,如果有可用的本机软件包,homebrew将通知您而不是覆盖它,并进一步导致问题。它还在用户空间中安装库(因此,您无需使用“ sudo”来安装东西)。由于所有内容都在您可以访问的路径中,因此在删除库时也有帮助。
自制软件还拥有更活跃的用户社区,并且其软件包(称为公式)经常更新。
macports不会覆盖本机OSX软件包-它提供了自己的版本-这是我喜欢macports而非自制软件的主要原因,您需要确定所使用的内容以及Apple在不同时间对端口的更改,并且已经知道在某些项目中要比更新晚几年
您能否提供参考说明macports覆盖本机OS X软件包?据我所知,所有macports安装都在
/opt/local
也许我应该澄清-我的回答中没有说Macports会覆盖OSX本机软件包。他们都分别安装项目。
当您应该“本机”安装(使用库/工具的首选安装程序)进行更好的兼容性时,Homebrew会警告您。这就是我的意思。它也将使用尽可能多的是在OS X从现有的本地库维基:
我们真的不喜欢Homebrew / homebrew中的骗子
但是,我们确实喜欢自来水!
OS X附带的东西或RubyGems,CPAN或PyPi提供的库都不应该被复制。这样做有充分的理由:
- 重复的库会定期破坏构建
- 重复库和较小程度的重复工具会出现细微的错误
- 我们希望您尽力使您的公式与OS X附带的功能一起使用
您可以选择用自制软件覆盖macosx提供的实用程序版本。
目前,由于成熟,Macports的软件包(〜18.6 K)比Homebrew公式(〜3.1K)多。自制软件正在慢慢追赶。
Macport软件包通常由一个人维护。
Macports可以保留多个版本的软件包,您可以启用或禁用它们来测试软件包。有时,此列表可能会损坏,您必须手动对其进行编辑才能使内容恢复正常,尽管这并不难。
两位软件包管理员都将要求定期更新。这可能需要一些时间。
注意:您可以在系统上同时拥有两个程序包管理器!它不是一个。Brew可能会抱怨,但Macports不会。
另外,如果要处理python或ruby软件包,请尽可能使用虚拟环境。
默认情况下,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可能是更好的选择!
/usr/local
家酿。苹果公司留下/usr/local
了“基本操作系统不包括的可执行文件,库等”。这意味着在使用Homebrew之前安装的工具可能已经创建/usr/local
,因此如果没有则无法修改sudo
。他们不在Wiki上讨论。
/usr/local
没有根权限就不能使用Homebrew 。/usr
全新OS X安装的默认权限是root owner,其他任何人都没有写权限。为了甚至创建 /usr/local
,Homebrew将需要root访问。(我不是想捍卫任何东西)
homebrew
可以安装的东西,而sudo
因为当它本身成立,它用来 sudo
做对目录宽松的权限,以便它能够做任何事情里面/usr/local
,而不会触发密码。这是否意味着“无密码安装”部分是错误的?我不这么认为!它仍然是真的,homebrew
将能够得到的东西,而密码。