ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
--------------
粘贴上面的命令在mac的终端运行即可。中途如果提示要安装什么,点击出现的“安装”按钮。
from http://brew.sh,
参考 https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Installation.md#installation
相关帖子:
http://briteming.blogspot.lt/2013/02/homebrew-osx-macports.html
http://briteming.blogspot.lt/2015/09/homebrew.html
(给homebrew加上代理)
--------------
Homebrew的安装与使用
Mac OS X是基于Unix的操作系统,可以安装大部分为Unix/Linux开发的软件。然而,如果只是以使用为目的,对每个软件都进行手工编译不是很方便,也不利于管理已安装的软件,于是出现了类似于Linux中APT、Yum等类似的软件包管理系统,其中最著名的有MacPorts、Fink、Homebrew等。
我曾经是MacPorts的使用者,但了解Homebrew之后,立即“弃暗投明”了。其实MacPorts也是一个很不错的解决方案,除了一个实在让我头疼的特性。MacPorts有个原则,对于软件包之间的依赖,都在MacPorts内部解决(/opt/local),无论系统本身是否包含了需要的库,都不会加以利用。这使得MacPorts过分的庞大臃肿,导致系统出现大量软件包的冗余,占用不小的磁盘空间,同时稍大型一点的软件编译时间都会难以忍受。
而Homebrew的原则恰恰相反,它尽可能地利用系统自带的各种库,使得软件包的编译时间大为缩短;同时由于几乎不会造成冗余,软件包的管理也清晰、灵活了许多。Homebrew的另一个特点是使用Ruby定义软件包安装配置(叫做formula),定制非常简单。
至于Fink,由于并未安装使用过,不加讨论。(从互联网上的消息看,Fink由于维护人手的问题,软件包的更新不是很及时。)于我而言,Homebrew已经足够完善,除非发现重大的问题或者出现新的具有突破性的竞争对手,否则我没兴趣折腾别的软件包管理系统了。
下面说说Homebrew的安装与使用。
Homebrew的安装
首先确保你的系统满足如下要求:
基于Intel CPU
操作系统为Mac OS X 10.5 Leopard或更高版本
已安装版本管理工具Git(Mac OS X 10.7 Lion已经预安装)
已安装Xcode开发工具1
已安装Java Developer Update2
注1:Xcode 4.3中,命令行编译工具是可选安装,需要在Preferences > Downloads中激活。
注2:可选,Homebrew本身不依赖于Java,只有部分软件包的安装需要Java支持。
Homebrew的安装非常简单,在终端程序中输入以下命令即可。
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
由于Homebrew的安装地址可能变化,请到官方网站-http://mxcl.github.io/homebrew/index_zh-cn.html查看最新的安装方法。
安装过程需要输入root口令。
Homebrew的使用
Homebrew的可执行命令是brew,其基本使用方法如下(以wget为例)。
查找软件包
brew search xyz
安装软件包
brew install wget
列出已安装的软件包
brew list
删除软件包
brew remove wget
查看软件包信息
brew info wget
列出软件包的依赖关系
brew deps wget
更新brew:
brew update
列出过时的软件包(已安装但不是最新版本)
brew outdated
更新过时的软件包(全部或指定)
brew upgrade 或 brew upgrade wget
定制自己的软件包
如果自己需要的软件包并不能在Homebrew中找到,怎么办呢,毕竟Homebrew是一个新生项目,不可能满足所有人的需求。当然,我们可以自行编译安装,但手工安装的软件包游离于Homebrew之外,管理起来不是很方便。
前文说过,Homebrew使用Ruby实现的软件包配置非常方便,下面简单谈一谈软件包的定制(假定软件包名称是bar,来自foo站点)。
首先找到待安装软件的源码下载地址
http://foo.com/bar-1.0.tgz
建立自己的formula
brew create http://foo.com/bar-1.0.tgz
编辑formula,上一步建立成功后,Homebrew会自动打开新建的formula进行编辑,也可用如下命令打开formula进行编辑。
brew edit bar
Homebrew自动建立的formula已经包含了基本的configure和make install命令,对于大部分软件,不需要进行修改,退出编辑即可。
输入以下命令安装自定义的软件包
brew install bar
关于Homebrew的其它功能,比如将自定义软件包提交到官方发布等,请参考Homebrew项目的主页及其Man Page。你将发现Homebrew不仅是“家酿”,更是“佳酿”。
from http://linfan.info/blog/2012/02/25/homebrew-installation-and-usage/
comments:
1)它会把/usr/local从root所有权更换为admin,这点你怎么看?
我认为很好,这样以普通用户权限就能安装各种应用程序。与Linux不同,很少有程序会安装到这个目录中,所以相当于brew独占的,而brew不替换系统文件,仅仅通过设置环境变量使自身安装的程序生效,还是很安全的。
2)我用了这个安装指令:
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
Homebrew
What Packages Are Available?
- Type
brew search
for a list. - Or visit braumeister.org to browse packages online.
- Or use
brew search --desc <keyword>
to browse packages from the command line.
More Documentation
Troubleshooting
brew update
and brew doctor
.Security
- Key ID:
0xE33A3D3CCE59E297
- Fingerprint:
C657 8F76 2E23 441E C879 EC5C E33A 3D3C CE59 E297
- Full key: https://keybase.io/homebrew/key.asc
Who Are You?
- Install Homebrew
- Frequently Asked Questions
- Tips and Tricks
- Gems, Eggs and Perl Modules
- Homebrew and Python
Troubleshooting
brew update
(twice) and brew doctor
.brew edit $FORMULA
and see how you fare.Contributing
Community Forums
- @MacHomebrew
- homebrew-discuss@googlegroups.com (archive) - subscribe by sending a mail to homebrew-discuss+subscribe@googlegroups.com
- freenode.net#machomebrew.
---------
http://www.brewformulas.org/
Homebrew 的安装与使用
OS X 下还有款包管理工具为 Homebrew,安装方法也很简单。
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
好了,安装完毕,Homebrew 的使用方法也很简单。
基本用法
- brew search package-name # 搜索软件包
- brew install package-name # 安装软件包
- brew remove package-name # 移除软件包
- brew cleanup package-name # 清除旧包
- brew list # 列出已安装的软件包
- brew update # 更新 Homebrew
- brew upgrade # 升级软件包
- brew home package-name # 用浏览器打开
- brew info package-name # 显示软件内容信息
- brew deps package-name # 显示包的依赖
- brew server # 启动 web 服务器,可以通过浏览器访问 http://localhost:4567 通过网页来管理包
- brew -h # 帮助
- brew versions package-name # 列出软件包的版本
具体的用法可以 man brew
。
brew search package-name
这里主要说下,brew search package-name 时,有时会出现
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
更新下你的环境变量。
多版本共存
另外一个,安装不同版本的 package-name的技巧,比方要安装不同版本的 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 分支的灵活应用。
删除package-name时,删除依赖
$ brew remove
package-name
$ brew rm $(join <(brew leaves) <(brew deps
package-name))
Homebrew Cask
通过 homebrew cask 来安装 app,首先是安装
$ brew tap caskroom/cask && brew install brew-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