http://www.myexception.cn/brew/412107.html

比较Fink, macports 和 homebrew

如果你有Linux/Unix背景,那么在Mac上你一定想安装那些你熟悉的open source软件。
Fink,Macports和Homebrew是3个主流的package management tool。

1. Fink

Fink是基于Debian的packaging tools开发的。最大的特点是安装软件是预编译好的(pre-compiled/pre-built)。
所以,用Fink安装package是不需要在本机编译的,都是现成的binary code。

Fink最大的问题是package跟进不够快。很多最新版的软件,你要等Fink。

2. Macports
Mac算是BSD的一个变种吧。所以,BSD的包管理软件port被移植到Mac上就显的理所当然了。

macports的工作方式是下载source code然后在本地编译。macport的理念是尽量减少对系统现有库的依赖。
所以,第一次用macport的时候,需要很长时间让macport重新build整个基本库,什么perl啊,python啊的。

代价是较长的编译时间,较多的依赖关系下载。好处是不怎么依赖系统,也就是说,更新Mac OS不会破坏你现有的
package。

另外,macports安装所有的package到/opt/local下面。这样不会和系统现有的/usr/local有什么冲突。

3. Homebrew
这个比较新,是在Lion之后才兴起的。
工作方式和macport类似,也是下载source并在本地编译安装。但是和macports有两个根本的区别。
1) homebrew的理念是尽量使用系统现有的库。这样可以大大的减少编译时间。
2) package都安装到/usr/local下面。
这两点和macports是完全相反的。结果也是有利有弊。

最大的好处莫过于编译时间变短,安装简单。问题就是和系统紧密依赖。

另外Homebrew假设你的Mac是单用户系统,所以/usr/local的owner应该是你,而不是传统的root。
这个假设在大多数情况下都成立。
(当然你可以改变homebrew的安装路径,然后修改你的PATH)

另外,一个不太重要的区别,macport是用rsync来同步repository tree和获取新的package的。
homebrew是用git来管理repository的。 
如果你是在内部网或者firewall后通过proxy使用,这点可能会给你带来影响--一些proxy不支持rsync的。

总结:
1. 忘了Fink吧,老了。
2. 如果你是重量级的Linux用户,希望使用所有的open source package,那么macports是你不二的选择。
3. 如果你只希望很快的安装一些便利的工具,那么homebrew是个不错的选择。

>>update(2012-05-02:23:53)
macports可以用svn来代替rsync。虽然selfupdate不可用,但是其他的sync, install等完全不影响。这样就可以绕过上面所说的proxy的问题了。
https://trac.macports.org/wiki/howto/SyncingWithSVN

还真是巧合,写这点东西的当天,macports的rsyncd服务器当机了。
https://trac.macports.org/ticket/34298
只能用svn来sync了。

比较Fink, macports 跟 homebrew的更多相关文章

  1. Mac OS X 程序员利器 – Homebrew安装与使用

    Mac OS X 程序员利器 – Homebrew安装与使用 Homebrew安装与使用 什么是Homebrew? Homebrew is the easiest and most flexible ...

  2. 推荐IOS开发3个工具:Homebrew、TestFight、Crashlytics-备

    1. Homebrew 什么是Homebrew? Homebrew is the easiest and most flexible way to install the UNIX tools App ...

  3. [OSX] 使用 MacPorts 安装 Python 和 pip 指南

    Mac OS 未预装任何在 Unix/Linux 中常见的命令行包管理工具,Mac OS 中的 App Store 和自身的软件升级功能可以下载更新许多比较好的应用,但这些应用多数是满足普通消费者需求 ...

  4. 推荐IOS开发3个工具:Homebrew、TestFight、Crashlytics-b

    1. Homebrew 什么是Homebrew? Homebrew is the easiest and most flexible way to install the UNIX tools App ...

  5. 【热文】 为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows?

    校对:伯乐在线 - 黄利民 链接: 1. Why do most of the developers in Silicon Valley prefer OS X over Linux or Windo ...

  6. Macbook Pro 使用小记

    本周到手Macbook Pro,很激动.刚刚使用了几天,简单记下自己的感受.   Macbook Pro的硬件配置和做工真没得说,非常完美. 触控板很强大.很好用,鼠标可以基本不用了,但要稍微学习一下 ...

  7. MAC OS X的命令行技巧

    ##透明度#降低透明度defaults write com.apple.universalaccess reduceTransparency -bool true#恢复默认透明度defaults wr ...

  8. mac上eclipse用gdb调试(转)

    mac上eclipse用gdb调试 With its new OS release, Apple has discontinued the use of GDB in OS X. Since 2005 ...

  9. mac os x安装ngigx+php fastcgi+mysql+memcache详细流程

    Part 1: MacPorts Mac上装软件常用的是MacPorts和homebrew,这个软件会很方便地提供软件的安装.装这些前先得装Xcode,Xcode在appstore上有,一个多G,下载 ...

随机推荐

  1. iOS积分抽奖Demo,可以人为控制不同奖项的得奖率

    最近公司让写一个转盘积分抽奖的样式,所以把创建过程中的心得记录一下,给大家分享 首先创建了相关的图片转盘,指针图片,然后就是考虑转盘如何旋转的问题,我是通过给指针图片添加一个动画效果,从而实现旋转效果 ...

  2. 1032. Sharing (25) -set运用

    题目如下: To store English words, one method is to use linked lists and store a word letter by letter. T ...

  3. C#神器 委托 + Unity神器 协程

    作为源生的C#程序员,可能已经非常了解委托(delegate).行动(Action)以及C#的事件了,不过作为一个半道转C#的程序员而言,这些东西可能还是有些陌生的,虽然委托并非是C#独创,亦非是首创 ...

  4. 11、Libgdx的音频

    (官网:www.libgdx.cn) Libgdx提供了简单的方法对较小的音效和磁盘中的音乐进行回放.它同样也提供了方便的针对音频硬件的读写权限. 所有的音频操作都通过audio模块来完成: Audi ...

  5. 使用github管理你的代码

    关于为什么使用github,网上已经有很多讨论了.当然选择还有google code, Bitbucket,sourceforge.github有如下优势: 1. github更有利于开源项目的发展 ...

  6. android universal image loader 缓冲原理详解

    1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL ...

  7. (四十七)Quartz2D引擎初步

    Quartz2D是跨平台的,同时支持iOS与Mac. 支持圆型裁剪,可以实现圆形头像等功能,也支持手势解锁.折线图等的制作. 对于复杂的UI界面,还可以通过Quartz2D将控件内部的结构画出来,可用 ...

  8. android studio添加project libs库步骤

    在Eclipse中选择要导出的项目,然后依次选择菜单 file->export->Android->Generate Gradle build files. 之后依次点击next到f ...

  9. ffdshow 源代码分析 9: 编解码器有关类的总结

    ===================================================== ffdshow源代码分析系列文章列表: ffdshow 源代码分析 1: 整体结构 ffds ...

  10. Win8 HTML5与JS编程学习笔记(二)

    近期一直受到win8应用的Grid布局困扰,经过了半下午加半个晚上的奋斗,终于是弄明白了Grid布局方法的规则.之前我是阅读的微软官方的开发教程,书中没有详细说明CSS3的布局规则,自己鼓捣了半天也是 ...