homebrew是Mac系统的包包管理工具,类似 yum/apt-get等包管理工具。该工具是用ruby实现的。

安装

通过下载一个ruby脚本来实现安装

  1. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

安装过程中,可能会出现443的网络问题。由于某种原因,导致githubraw.githubusercontent.com域名解析被污染了,所以,需要通过修改hosts解决这个问题;通过修改host即可解决:

  1. sudo vim /etc/hosts
  2. ## 添加 199.232.28.133 raw.githubusercontent.com

卸载

通过下载一个ruby脚本来实现卸载

  1. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

使用

安装软件

brew install xxx : 安装包, 通过 Homebrew 安装的所有包都会被放在/usr/local/Cellar

查看软件信息

brew info xxxx : 查看包信息。但是输出的信息不好查看,我们可借助另一个包 jq 来格式化出发,方便查看,首先安装brew install jq然后就可以使用了。比如:查看 node 包信息 brew info --json=v1 node | jq 。这里 info 命令多了一个 —json=v1 参数,这表示使用 JSON 格式输出, 随后传递给 jq 做格式化输出。

查看软件安装位置

一般情况是这么操作的:
1、通过brew install安装应用最先是放在/usr/local/Cellar/目录下。
2、有些应用会自动创建软链接放在/usr/bin或者/usr/sbin,同时也会将整个文件夹放在/usr/local
3、可以使用brew list 软件名确定安装位置。
比如安装autojump应用之后会在这些地方创建(sudo find / -name “autojump”):
/Users/jim/Library/Logs/Homebrew/autojump
/usr/local/bin/autojump
/usr/local/Cellar/autojump
/usr/local/Cellar/autojump/22.5.1/bin/autojump
/usr/local/Cellar/autojump/22.5.1/libexec/bin/autojump
/usr/local/Cellar/autojump/22.5.1/share/autojump
/usr/local/opt/autojump
/usr/local/share/autojump
/usr/local/var/homebrew/linked/autojump

属于解释

formula-软件包名字

本质上是一个ruby脚本,里边记录了某软件包的安装的信息,包括tar包地址,sha校验码等。

bottles

Bottles 是 Homebrew 中的一个专用名词。 它表示直接用二进制形式发布的包。 我们在使用 brew install 安装程序包的时候有两种方式,一个是下载源代码然后在本地构建,另外一个是直接下载已经编译好的二进制包。 而 Bottles 就是预编译好的二进制包。
如果一个源包含预编译的 Bottle, 我们在使用 brew install 的时候会自动使用它。 如果出于某些原因,你不想使用预编译的包,就可以加上 —build-from-source 选项:

  1. brew install --build-from-source node

这样相应的安装包就会在你的本机上面构建。一般而言,直接在本机构建源代码安装速度会比较慢,这也是为什么 Homebrew 会提供 Bottles 预编译包的原因之一, 但在有些场景下,可能会需要自己来编译,这个选项就有作用了。

tap

tap本质上就是包含了formula集合的git仓库。
Homebrew 主要是基于 Git 进行包管理的, tap 就是用来添加软件源的,类似yum源。

创建tap

tap是formula的来源。默认为homebrew/core,但您可以添加更多。为自己的软件创建公式的最简单方法是创建一个名为homebrew-;将formula file放入其中;然后键入brew tap /将这个新的公式源添加到您的自制程序安装中,从而访问它的所有公式。

添加tap

  1. brew tap [options] user/repo [URL] # URL 参数可以是任何git能够识别的地址
  2. # brew tap user/repo 是 brew tap user/repo https://github.com/user/homebrew-repo 的简写

homebrew 默认内置下面2个tap: ( brew tap 可以查看所有tap)

  1. homebrew/cask
  2. homebrew/core

cask

Homebrew Cask扩展了Homebrew,简化gui程序安装,比如可安装 chome/atom等软件
brew cask help 查看其子命令

mac下解决安装慢的问题

安装brew

在下载安装brew脚本后,更改其git库地址:

  • 下载安装脚本:https://raw.githubusercontent.com/Homebrew/install/master/install.sh
  • 搜索BREW_REPO, 更改git库地址(中科大镜像):

    1. # BREW_REPO="https://github.com/Homebrew/brew"
    2. BREW_REPO="git://mirrors.ustc.edu.cn/brew.git"
  • 执行脚本进行安装(我自己改后的文件保存在 ~/.brew_install

    1. /bin/bash ~/.brew_install

    安装brew-core

    brew-core是官方提供的软件源, 现在使用中科大的镜像clone。

    1. git clone git://mirrors.ustc.edu.cn/homebrew-core.git '/usr/local/Homebrew/Library/Taps/homebrew/'

    homebrow镜像

    清华大学镜像

  1. git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
  2. git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
  3. git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
  4. brew update

中科大镜像

参考

mac下镜像飞速安装Homebrew教程
homebrew documentation
homebrew git
homebrew-core github