Homebrew是Mac系统下非常好用的包管理工具。

1. 安装

官网介绍的安装方式很简单,在terminal当中粘贴
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 就可以快速安装好homebrew。
但是在国内的网络环境下,使用官网推荐的方式安装无法成功,会遇到如下的错误

curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

网上有一些解决方案:

  • 科学上网
  • 使用脚本安装
  • 手动安装
    这里我发现到了另一个方法:我们可以使用国内gitee的源来进行安装,如官网推荐的方法一致,但是讲指令换成如下的指令
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2. 基本使用

2.1、安装卸载软件

  • brew --version 或者 brew -v 显示brew版本信息
  • brew install 安装指定软件
  • brew uninstall 卸载指定软件
  • brew list 显示所有的已安装的软件
  • brew search text 搜索本地远程仓库的软件,已安装会显示绿色的勾
  • brew search /text/ 使用正则表达式搜软件
  • brew info 显示指定软件信息
  • brew reinstall 重新安装指定软件,先卸载后安装
  • brew install --build-from-source 源码安装指定软件,可以给定指定参数
  • brew commands 列出所有可用命令

2.2、升级软件相关

  • brew update 自动升级homebrew (从github下载最新版本)
  • brew outdated 检测已经过时的软件
  • brew upgrade 升级所有已过时的软件,即列出的以过时软件
  • brew upgrade 升级指定的软件
  • brew pin 禁止指定软件升级
  • brew unpin 解锁禁止升级
  • brew upgrade --all 升级所有的软件包,包括未清理干净的旧版本的包
  • brew edit 编辑软件,不会的情况下慎用
  • brew tap 列出本地资源仓库,其中 homebrew 是默认仓库,其它都是第三方仓库
  • brew tap <user/repo> 添加第三方仓库,命名的规则按照github来定的。
  • brew untap <user/repo> 删除仓库
  • brew deps 查看指定软件依赖于哪些软件
  • brew uses 查看指定软件被哪些软件所依赖

2.3、清理相关

homebrew再升级软件时候不会清理相关的旧版本,在软件升级后我们可以使用如下命令清理

  • brew cleanup -n 列出需要清理的内容
  • brew cleanup 清理指定的软件过时包
  • brew cleanup 清理所有的过时软件
  • brew unistall 卸载指定软件
  • brew unistall --force 彻底卸载指定软件,包括旧版本
    通过brew安装的文件会自动设置环境变量,所以不用担心命令行不能启动的问题。
    比如安装好了gradle,即可运行 gradle -v

3.更换国内源

3.1. 替换brew.git:

$ cd "$(brew --repo)"

中科大:

$ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

清华:

$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

3.2. 替换homebrew-core.git:

$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"

中科大:

$ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

清华:

$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

3.3. 替换homebrew-bottles:

中科大:

$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile

清华:

$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
 
$ source ~/.bash_profile
  1. 应用:
$ brew update