Homebrew (brew)

1. 定义

Homebrew 是 macOS(也支持 Linux)上的包管理器,用命令行安装、更新、卸载软件,免去手动下载 .dmg / .tar.gz 的麻烦。

类比:Ubuntu 的 apt、CentOS 的 yum、Node 的 npm、Python 的 pip——brew 就是 macOS 上的那个。

2. 核心概念:formula / cask / tap

概念是什么例子
Formula命令行软件的安装配方(一般是开源工具)gitwgetripgrep
CaskGUI 应用的安装配方(.app、.dmg)visual-studio-codegoogle-chrome
Tap一个软件源仓库(GitHub 上的 Homebrew 仓库 fork)homebrew/caskhomebrew/core
Cellar软件实际安装到的目录/opt/homebrew/Cellar/ (Apple Silicon)
Bottle预编译好的二进制包,免去本地编译下载 .bottle.tar.gz 直接解压

Tap 详解(重点):

  • Tap 的本质是一个 Git 仓库,里面装着一堆 formula/cask
  • 默认 tap 是 homebrew/core(命令行工具)和 homebrew/cask(GUI 应用),新版已合并但概念还在
  • 加第三方 tap 就能装官方仓库没有的软件:
    brew tap homebrew/cask-fonts           # 添加字体 tap
    brew tap mongodb/brew                  # MongoDB 官方维护的 tap
    brew install mongodb-community         # 然后才能装这个公式
  • tap 命名规则:<user>/<repo>,brew 会自动去 github.com/<user>/homebrew-<repo>

3. 基本命令

安装 / 卸载

brew install git              # 装 CLI 工具(formula)
brew install --cask vscode    # 装 GUI 应用(cask)
brew uninstall git            # 卸载
brew reinstall git            # 重装

查询

brew search git               # 搜索可装的包
brew info git                 # 看包的详细信息(版本、依赖、安装路径)
brew list                     # 列出已装的所有包
brew list --cask              # 只列已装的 cask
brew deps git                 # 看 git 依赖哪些包

更新

brew update                   # 更新 brew 本身 + tap 索引(不是升级软件!)
brew upgrade                  # 升级所有过期的包
brew upgrade git              # 只升级 git
brew outdated                 # 列出哪些包有新版本可升

brew updatebrew upgrade 是新手最容易搞混的两个命令:

  • update = 更新”软件目录”(拉取 tap 的最新 formula 列表)
  • upgrade = 真正升级”已安装的软件”

Tap 管理

brew tap                      # 列出当前所有 tap
brew tap mongodb/brew         # 添加 tap
brew untap mongodb/brew       # 移除 tap

服务管理(后台进程)

brew services start postgresql    # 启动并开机自启
brew services stop postgresql     # 停止
brew services restart postgresql  # 重启
brew services list                # 查看所有服务状态

清理 / 维护

brew cleanup                # 删除旧版本和缓存,释放磁盘
brew cleanup -s             # 连缓存都删干净
brew doctor                 # 体检,列出环境问题
brew autoremove             # 删除不再被依赖的孤立包

4. 常用目录(Apple Silicon)

路径用途
/opt/homebrew/安装根目录(Intel Mac 是 /usr/local/
/opt/homebrew/Cellar/软件实际安装位置
/opt/homebrew/bin/可执行文件软链(这个加到 PATH 里)
~/Library/Caches/Homebrew/下载缓存

5. 常见坑

  • brew update 报错卡住:通常是 tap 仓库网络问题,brew untap 掉出错的 tap 或换镜像
  • command not found: brew:装完后 PATH 没配置,按提示把 eval "$(/opt/homebrew/bin/brew shellenv)" 加到 .zshrc
  • Cask 安装报 “Already downloaded” 但装不上brew cleanup -s 清缓存再试
  • 升级后旧版本还在:brew 默认保留旧版本以防回滚,定期 brew cleanup 即可

6. 延伸阅读 / 关联概念

  • mas — Mac App Store 的命令行工具,可和 brew cask 互补
  • 国内镜像加速 — 清华、中科大均有 Homebrew 镜像,配置 HOMEBREW_BREW_GIT_REMOTE 等环境变量
  • brew bundle — 用 Brewfile 锁定软件清单,方便新机一键恢复