自制软件,macports或其他软件包安装工具有什么区别/用法? [关闭]

问题描述 投票:231回答:4

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

homebrew macports apt
4个回答
142
投票

MacPorts是可行的方式。

  1. 就像@ user475443指出的那样,MacPorts有很多包。使用brew,你很快就会陷入困境,因为你需要的配方不存在。
  2. MacPorts是一个本机应用程序:C + TCL。你根本不需要Ruby。要在Mac OS X上安装Ruby,您可能需要使用MacPorts,所以只需使用MacPorts就可以了。
  3. MacPorts非常稳定,8年来我从来没有遇到任何问题,而我的整个Unix生态系统都在其上传播。
  4. 如果您是PHP开发人员,您可以安装最新版本的Apache(Mac OS X使用2.2),PHP和您需要的所有扩展,然后使用一个命令升级所有。忘了用Homebrew做同样的事。
  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有这个功能。
  6. Rubists喜欢在Ruby中重写所有东西,因为他们唯一放心的就是Ruby本身。

106
投票

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提供的实用程序版本。


23
投票

目前,由于其成熟度,Macports拥有比Homebrew公式(~3.1K)更多的包(~18.6 K)。 Homebrew正在慢慢追赶。

Macport套餐往往由一个人维护。

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

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

注意:您可以在系统上同时拥有两个包管理器!它不是一个或另一个。 Brew可能会抱怨,但Macports不会。

此外,如果您正在处理python或ruby包,请尽可能使用虚拟环境。


18
投票

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

有关详细信息:

本网站建议使用Homebrew:qazxsw poi

而这个网站列出了使用Macports的优势:http://deephill.com/macports-vs-homebrew/

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

© www.soinside.com 2019 - 2024. All rights reserved.