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

时间:2014-01-27 06:30:59

标签: homebrew macports apt

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

4 个答案:

答案 0 :(得分: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本身。

答案 1 :(得分:106)

Homebrew和macports都解决了同样的问题 - 即安装了未与osx捆绑在一起的公共库和实用程序。

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

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

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

macports是BSD端口实用程序的osx版本(因为osx源自BSD,这是一个自然的选择)。对于任何熟悉任何BSD发行版的人来说,macports都会感到宾至如归。

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

homebrew也享有更活跃的用户社区,其软件包(称为公式)经常更新。


  

macports不会覆盖本机OSX包 - 它提供自己的包   版本 - 这是我更喜欢macports而不是家庭酿造的主要原因   需要确定你正在使用的是什么以及Apple的变化   不同时期到港口,并已知道落后多年   某些项目的更新

     

你能给出一个参考,显示macports会覆盖原生OS X.   包?据我所知,所有的macports安装都在   /opt/local

也许我应该澄清一下 - 我在答案中没有说macports会覆盖OSX原生包。他们都单独安装项目。

Homebrew会在您应该“本机”安装“使用库/工具的首选安装程序”时警告您,以获得更好的兼容性。这就是我的意思。它还将使用OS X中可用的许多本地库。来自wiki

  

我们真的不喜欢Homebrew / homebrew中的欺骗

     

但是,我们确实喜欢自来水!

     

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

     
      
  • 重复的图书馆定期破坏版本
  •   
  • 带有重复库的微妙错误,以及较小程度上的重复工具
  •   
  • 我们希望您更努力地使您的公式与OS X附带的内容一起使用
  •   

你可以选择用homebrew覆盖macosx提供的实用程序版本。

答案 2 :(得分:23)

目前,由于其成熟度,Macports拥有的包装数量(~18.6 K)远远超过Homebrew公式(~3.1K)。 Homebrew正在慢慢追赶。

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

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

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

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

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

答案 3 :(得分:18)

默认情况下,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可能是更好的方法!