Mac OSX包管理安装工具:使用Homebrew替换/替代/代替MacPorts/Fink的优点理由

MacPorts和Homebrew都是Mac OS X上的软件包管理工具 (via Wikipedia),且它们之间是不兼容的.个中好处就不介绍了,这里要说的是删除MacPorts并安装Homebrew.

可能大家都听说过MacPorts,今天我郑重像大家推荐 Homebrew 这款包管理软件(类似linux的apt-get),现在我的Mac就已经完全从MacPorts中解脱出来了,完全拥抱Homebrew。

首先介绍一下Homebrew,Homebrew是一个Ruby开发的智能的包管理系统。她能判断系统包的状况,并能够依赖系统已有的组件,不用重 新下载一阵套组件。而MacPorts是自成一派的,他的所有组件全部安装在/opt目录下,带来的问题就是很多系统已经有的组件都要重新下载,费时间也 费空间。而且Homebrew本身使用Git管理,升级非常方便。

在 Homebrew 之前,最常見的就是 MacPorts 跟 Fink 了,我自己本來是用 MacPorts,它有個討厭的特點就是它不依賴系統內已經安裝好的套件,完全自成一局 (當然,這也算是一種 isolation 優點,如果你不爽的時候只要砍掉 /opt 就移掉了)。所以常常為了裝個小套件,就還要安裝一堆它依賴的套件(例如:重複裝一套你系統裡已經有的 Perl,crazy!),十分耗費時間跟空間,而且到最後我也搞不清楚它裝了一大堆我不知道拿來幹什麼用的套件。

Homebrew 則盡量依賴系統內已經有的套件、它的套件 formula 是用簡單的 Ruby 寫的,所以你可以 fork Homebrew repository 自行修改維護、它自己用 Git 管理自己,升級十分方便。

安裝及使用方式

1. 要先安裝有 Xcode,你才能編譯東西。
2. 下載執行 http://gist.github.com/323731

安裝好之後,就有以下指令可以使用

brew search 搜尋套件
brew info 查詢套件資訊
brew list 已經裝了哪些套件
brew update 更新 homebrew 自己
brew install 安裝套件

例如,我馬上就安裝了 wget 跟 git 這兩個是我最基本要用的工具,一下就搞定了,cool!

brew install wget
brew install git

准备条件:

Mac是自带Ruby程式的,如果你之间”处理”过它,记得要确保它的存在.用ruby -v查看下版本号.
安装xcode
打开Terminal(终端)

删除MacPorts:

#原版使用MacPorts安装过的软件在/opt/local目录下,删除之前最好查看下,心里有个数.

sudo port -f uninstall installed
sudo rm -rf \
/opt/local \
/Applications/DarwinPorts \
/Applications/MacPorts \
/Library/LaunchDaemons/org.macports.* \
/Library/Receipts/DarwinPorts*.pkg \
/Library/Receipts/MacPorts*.pkg \
/Library/StartupItems/DarwinPortsStartup \
/Library/Tcl/darwinports1.0 \
/Library/Tcl/macports1.0 \
~/.macports

No sudo:

sudo chown -R `whoami` /usr/local

#不用每次都执行sudo操作

安装Homebrew:

curl -L http://github.com/mxcl/homebrew/tarball/master | tar xz –strip 1 -C /usr/local

export PATH=/usr/local/bin:$PATH

#等完毕后就安装好了,安装在了/usr/local目录下,可通过brew -v查看版本号

通过Homebrew安装软件:

查找你需要的软件使用brew search * 命令,安装使用brew install *命令(用具体的软件名称替换*),下面演示:

brew search git

brew install git

如果你想安装vim,wget或者unrar等其它各类软件,都这么做去吧.

另外,你已经安装了git了,那么建立了本地的git仓库,执行如下:

cd /usr/local
git init
git remote add origin git://github.com/mxcl/homebrew.git
git pull origin master

如果GitHub上有项目,也可直接拿下:

git clone http://github.com/YOURGITHUBUSERNAME/homebrew.git /tmp/homebrew

其它Homebrew指令:

brew list —列出已安装的软件

brew update —更新Homebrew

brew home *—用浏览器打开

brew info *—显示软件内容信息

brew deps * — 显示包依赖

brew server * —启动web服务器,可以通过浏览器访问http://localhost:4567/ 来同网页来管理包

brew -h brew —帮助

删除Homebrew:

万一你用的不爽了,告诉你卸载指令:

cd `brew –prefix`
rm -rf Cellar
brew prune
rm -rf Library .git .gitignore bin/brew README.md share/man/man1/brew
rm -rf ~/Library/Caches/Homebrew

Top Down