Homebrew (brew)
1. 定义
Homebrew 是 macOS(也支持 Linux)上的包管理器,用命令行安装、更新、卸载软件,免去手动下载 .dmg / .tar.gz 的麻烦。
类比:Ubuntu 的
apt、CentOS 的yum、Node 的npm、Python 的pip——brew 就是 macOS 上的那个。
2. 核心概念:formula / cask / tap
| 概念 | 是什么 | 例子 |
|---|---|---|
| Formula | 命令行软件的安装配方(一般是开源工具) | git、wget、ripgrep |
| Cask | GUI 应用的安装配方(.app、.dmg) | visual-studio-code、google-chrome |
| Tap | 一个软件源仓库(GitHub 上的 Homebrew 仓库 fork) | homebrew/cask、homebrew/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 update和brew 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锁定软件清单,方便新机一键恢复