Homebrew

20150118 - brew

什么是Homebrew?

Mac OS X是基于Unix的操作系统,可以安装大部分为Unix/Linux开发的软件。然而,如果只是以使用为目的,对每个软件都进行手工编译不是很方便,也不利于管理已安装的软件,于是出现了类似于Linux中APT、Yum等类似的软件包管理系统,其中最著名的有MacPorts、Fink、Homebrew等。

为什么要用Homebrew?

MacPorts是一个不错的解决方案,但它有个原则,对于软件包之间的依赖,都在MacPorts内部解决(/opt/local),无论系统本身是否包含了需要的库,都不会加以利用。这使得MacPorts过分的庞大臃肿,导致系统出现大量软件包的冗余,占用不小的磁盘空间,同时稍大型一点的软件编译时间都会难以忍受。
而Homebrew的原则恰恰相反,它尽可能地利用系统自带的各种库,使得软件包的编译时间大为缩短;同时由于几乎不会造成冗余,软件包的管理也清晰、灵活了许多。Homebrew的另一个特点是使用Ruby定义软件包安装配置(叫做formula),定制非常简单。

如何使用Homebrew?

安装Homebrew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor

安装完Homebrew以后,即可通过他来安装软件。

例如安装wget,执行以下命令即可,非常方便易用。

brew install wget

Homebrew 会将套件安装到独立目录,并将文件软链接至 /usr/local 。

$ cd /usr/local
$ find Cellar
Cellar/wget/1.15
Cellar/wget/1.15/bin/wget
Cellar/wget/1.15/share/man/man1/wget.1

$ ls -l bin
bin/wget -> ../Cellar/wget/1.15/bin/wget

一些最常用使用场合:

搜索:brew search mysql
查询:brew info mysql 主要看具体的信息,比如目前的版本,依赖,安装后注意事项等
更新:brew update 这会更新 Homebrew 自己,并且使得接下来的两个操作有意义——
检查过时(是否有新版本):brew outdated 这回列出所有安装的软件里可以升级的那些
升级:brew upgrade 升级所有可以升级的软件们
清理:brew cleanup 清理不需要的版本极其安装包缓存

附:
通过Homebrew搭建Mac OS X 的开发环境(非常快捷方便):点击链接
Homebrew官网地址:http://brew.sh