【CLI】Homebrew调研
Homebrew调研
参考文章
- Homebrew官网
- 比较Fink, macports 和 homebrew
- Homebrew 和 Fink、MacPort 相比有什么优势?
- 为什么在Mac OS下,大多数的人认为Homebrew 比MacPorts好很多?
- Homebrew OSX 包管理软件,从此抛弃 MacPorts
- 苹果mac电脑中brew的安装使用及卸载详细教程
- Ruby系列文章之6 ---OS X 10.8.1 系统 HomeBrew的安装和简单使用
解释一些概念
-
brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便,brew类似ubuntu系统下的apt-get的功能。
-
作为linux系统的忠实粉丝,我们都很喜欢
(Debian/Ubuntu)
系列的apt包管理系统
和(Redhat/Fedora)
系列的yum包管理系统
。 包括Windows用户都有多种方便的软件管理工具,如:360软件管理,QQ软件管理,迅雷软件管理等多种。 Mac OS X系统下面之前有老牌的Macports,Fink包管理系统,包括apple的官方Mac App Store。所以我们也向在苹果下找到一款比较新的,方便的包管理系统,没错,她就是Homebrew
。 -
如果你有Linux/Unix背景,那么在Mac上你一定想安装那些你熟悉的open source软件。Fink,Macports和Homebrew是3个主流的package management tool。
-
Fink
是基于Debian的packaging tools开发的。最大的特点是安装软件是预编译好的(pre-compiled/pre-built)。所以,用Fink安装package是不需要在本机编译的,都是现成的binary code。Fink最大的问题是package跟进不够快。很多最新版的软件,你要等Fink。 -
Macports
:Mac算是BSD的一个变种吧。所以,BSD的包管理软件port被移植到Mac上就显的理所当然了。macports的工作方式是下载source code然后在本地编译。macport的理念是尽量减少对系统现有库的依赖。所以,第一次用macport的时候,需要很长时间让macport重新build整个基本库,什么perl啊,python啊的。代价是较长的编译时间,较多的依赖关系下载。好处是不怎么依赖系统,也就是说,更新Mac OS不会破坏你现有的package。另外,macports安装所有的package到/opt/local下面。这样不会和系统现有的/usr/local有什么冲突。
-
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的。 -
忘了
Fink
吧,老了。 如果你是重量级的Linux用户,希望使用所有的open source package,那么macports
是你不二的选择。如果你只希望很快的安装一些便利的工具,那么homebrew
是个不错的选择。 -
Homebrew有一个非常活跃的社区。Github提供了一个良好的合作平台,用户之间的交流非常有效率。软件仓库的版本更新非常快,每天都会有多次提交。总体感觉,Homebrew年轻富有活力,Macports偏于保守严谨。(Fink的用户群好像已经很小了,不提也罢)
Homebrew常见用法
- 安装方法:在终端等CLI输入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
使用homebrew安装软件:
- 比如安装git
brew install git
* 比如安装wget
```
brew install wget
Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。
- 使用homebrew卸载软件:
比如卸载wget
brew uninstall wget
- 使用brew查询软件
有时候,你不知道你安装的软件的名字, 那么你需要先搜索下, 查到包的名字。
比如:
brew search /wge*/
/wge*/是个正则表达式, 需要包含在//中,如下图
HomebrewSearch.png
彻底卸载homebrew
cd `brew –prefix`
rm -rf Cellar
brew prune
rm `git ls-files`
rm -rf Library .git .gitignore bin/brew
rm -rf README.md share/man/man1/brew
rm -rf Library/Homebrew Library/Aliases
rm -rf Library/Formula Library/Contributions
rm -rf ~/Library/Caches/Homebrew
- 其他homebrew命令
- brew list:列出已安装的软件
- brew update:更新brew
- brew home:用浏览器打开brew的官方网站
- brew info:显示软件信息
- brew deps:显示包依赖
- brew -v: 查看homebrew版本