与 MacPorts 类似,OS X 下还有款包管理工具为 [Homebrew][1],安装方法也很简单。
[1]: http://brew.sh
ruby -e “$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”
好了,安装完毕,Homebrew 的使用方法也很简单。
具体的用法可以 man brew
。
这里主要说下,brew search formula 时有时会出现
Error: GitHub API rate limit exceeded for ip. See http://developer.github.com/v3/#rate-limiting for details. You may want to create an API token: http://github.com/settings/applications and then set HOMEBREW_GITHUB_API_TOKEN.
提示已经很明确了,按照说明照做,注册个 github 账号,打开页面 http://github.com/settings/applications. 点击 Create new token
,填入 Token descrption 后,点击 Create Token
在家目录的 ~/.bash_profile
中添加如下你申请到的 token
if [ -f /usr/local/bin/brew ]; then
export HOMEBREW_GITHUB_API_TOKEN=xxxxxxxxxx
fi
最后再 . ~/.bash_profile
更新下你的环境变量。
另外一个,安装不同版本的 formula 的技巧,比方要安装不同版本的 htop
$ brew versions htop # 显示 htop 的历史版本
Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
0.8.2.2 git checkout 43b7f5b Library/Formula/htop-osx.rb
0.8.2.1 git checkout 8e24412 Library/Formula/htop-osx.rb
2012-0 git checkout 174acd6 Library/Formula/htop-osx.rb
0.8.2.1-2012-04-18 git checkout 258c649 Library/Formula/htop-osx.rb
......
......
$ cd /usr/local
$ git checkout -b htop0.8.2.1 8e24412 # checkout 出历史版本
Switched to a new branch 'htop0.8.2.1'
^_^ /usr/local $ git branch
* htop0.8.2.1
master
$ brew unlink htop
Unlinking /usr/local/Cellar/htop-osx/0.8.2.2... 4 links removed
......
......
^_^ /usr/local $ brew install htop # 安装旧版本
==> Installing htop-osx
==> Downloading https://github.com/max-horvath/htop-osx/archive/0.8.2.1-2013-03-31.tar.gz
......
......
^_^ /usr/local $ ls /usr/local/Cellar/htop-osx/
0.8.2.1 0.8.2
......
......
^_^ /usr/local $ htop --version
htop 0.8.2.1 - (C) 2004-2008 Hisham Muhammad.
Released under the GNU GPL.
^_^ /usr/local $ brew switch htop 0.8.2.2 # 切换 htop 版本
Cleaning /usr/local/Cellar/htop-osx/0.8.2.1
Cleaning /usr/local/Cellar/htop-osx/0.8.2.2
4 links created for /usr/local/Cellar/htop-osx/0.8.2.2
^_^ /usr/local $ htop --version
htop 0.8.2.2 - (C) 2004-2008 Hisham Muhammad.
Released under the GNU GPL.
......
......
^_^ /usr/local $ brew switch htop 0.8.2.1 # 删除某版本的话,先版本切换,再删除,最后版本切换回来
Cleaning /usr/local/Cellar/htop-osx/0.8.2.1
4 links created for /usr/local/Cellar/htop-osx/0.8.2.1
^_^ /usr/local $ brew remove htop
Uninstalling /usr/local/Cellar/htop-osx/0.8.2.1...
其实就是 Homebrew 对 git 分支的灵活应用。
$ brew remove formula
$ brew rm $(join <(brew leaves) <(brew deps formula))
通过 homebrew cask 来安装 app,首先是安装
$ brew tap caskroom/cask
默认 homebrew cask 安装 app 至 /opt/homebrew-cask/Caskroom
下,并链接到 ~/Applications
目录。
配置下,让 app 链接至 ~/My Applications
下
$ mkdir ~/My\ Applications
$ touch ~/My\ Applications/.localized
$ echo 'export HOMEBREW_CASK_OPTS="--appdir=~/My\ Applications"' >> ~/.bash_profile
$ source ~/.bash_profile
然后随便安装了
$ brew cask search firefox
$ brew cask install firefox-esr-cn
这个可以参考池建强在微博和微信里的文章,我把代码部分引用如下:
cd brew --prefix ##找到Homebrew,一般是/usr/local
mv Cellar /tmp ##备份用过 Homebrew 安装的程序包和库
brew prune ##删除无效 Link
rm -r git ls-files ##删除 Git 信息
rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
rm -rf .git
rm -rf ~/Library/Caches/Homebrew ##删除缓存
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ##然后重新安装 Homebrew
brew update
mv /tmp/Cellar . ##把备份的程序复制回来,更新所有程序
brew update
brew upgrade
从我的实际经验来看,建议大家在上面脚本的最后还是运行一下brew doctor
,可能会发现一些link方面的问题,根据提示处理就可以了。这些操作都做完以后,HomeBrew里的组件应该都已经OK。