Mac 命令行 brew 的使用方式汇总

Homebrew(简称 brew)是 macOS 上最流行的包管理工具,可以方便地安装、更新、卸载各种命令行工具和应用程序。

安装 Homebrew

官方安装方式

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

国内镜像安装(推荐)

网络受限时可使用国内镜像脚本:

/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

安装完成后,根据终端提示将 brew 加入 PATH(Apple Silicon Mac 需执行):

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

验证安装

brew --version
# 输出示例:Homebrew 4.x.x

基本信息命令

命令 说明
brew --version 查看 brew 版本
brew --prefix 查看 brew 安装路径
brew config 查看 brew 配置信息
brew doctor 检查 brew 环境问题
brew help 查看帮助
brew help <command> 查看指定命令帮助

软件包管理(Formula)

搜索软件

# 搜索软件包
brew search <keyword>

# 示例:搜索 git 相关包
brew search git

查看软件信息

# 查看软件包详情(版本、依赖、主页等)
brew info <formula>

# 示例
brew info wget

安装软件

# 安装软件包
brew install <formula>

# 安装指定版本
brew install <formula>@<version>

# 示例
brew install wget
brew install node@18

卸载软件

# 卸载软件包
brew uninstall <formula>

# 卸载并删除所有版本
brew uninstall --force <formula>

更新软件

# 更新 brew 本身及所有仓库索引
brew update

# 升级所有已安装的软件包
brew upgrade

# 升级指定软件包
brew upgrade <formula>

# 锁定某个包,不随 upgrade 更新
brew pin <formula>

# 解除锁定
brew unpin <formula>

查看已安装的软件

# 列出所有已安装的软件包
brew list

# 列出顶层(非依赖)已安装的软件包
brew leaves

# 查看已安装软件的版本信息
brew list --versions

# 查看某个软件包的安装路径
brew --cellar <formula>

清理旧版本

# 清理所有软件包的旧版本和缓存
brew cleanup

# 清理指定软件包的旧版本
brew cleanup <formula>

# 查看可以清理的内容(不实际删除)
brew cleanup --dry-run

# 清理下载缓存
brew cleanup --prune=all

Cask(GUI 应用)管理

Cask 用于安装 macOS 图形界面应用(.app)。

# 搜索 GUI 应用
brew search --cask <keyword>

# 安装 GUI 应用
brew install --cask <cask>

# 卸载 GUI 应用
brew uninstall --cask <cask>

# 列出已安装的 GUI 应用
brew list --cask

# 升级所有 Cask 应用
brew upgrade --cask

# 查看 Cask 信息
brew info --cask <cask>

常用 Cask 示例:

brew install --cask google-chrome
brew install --cask visual-studio-code
brew install --cask iterm2
brew install --cask docker
brew install --cask rectangle

服务管理(Services)

brew services 用于管理通过 brew 安装的后台服务(如 MySQL、Redis、Nginx 等)。

# 列出所有服务及其状态
brew services list

# 启动服务
brew services start <service>

# 停止服务
brew services stop <service>

# 重启服务
brew services restart <service>

# 设置开机自启并立即启动
brew services start <service>

# 仅运行一次(不设置开机自启)
brew services run <service>

# 清理已停止的服务
brew services cleanup

示例(以 MySQL 为例):

brew install mysql
brew services start mysql
brew services list

Tap(第三方仓库)管理

Tap 允许添加第三方软件仓库。

# 添加第三方仓库
brew tap <user>/<repo>

# 列出所有已添加的 tap
brew tap

# 移除 tap
brew untap <user>/<repo>

示例:

# 添加 HashiCorp 官方仓库(安装 terraform、vault 等)
brew tap hashicorp/tap
brew install hashicorp/tap/terraform

换源(国内加速)

由于网络原因,国内使用 brew 可能较慢,推荐切换到国内镜像源。

切换到中科大源

# 替换 Homebrew 核心源
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git

# 替换 homebrew-core
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

# 替换 homebrew-cask
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

# 替换 bottles(二进制预编译包)下载源(zsh)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

切换到清华源

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

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

恢复官方源

git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

常用环境变量

可在 ~/.zshrc~/.bash_profile 中设置以下变量来定制 brew 行为:

环境变量 说明
HOMEBREW_BOTTLE_DOMAIN 指定 bottles 下载镜像地址
HOMEBREW_NO_AUTO_UPDATE=1 禁止 brew 在安装前自动 update
HOMEBREW_NO_ANALYTICS=1 禁用 brew 使用数据收集
HOMEBREW_NO_INSTALL_CLEANUP=1 安装后不自动清理旧版本
HOMEBREW_INSTALL_FROM_API=1 直接从 API 获取包信息,加快速度

示例:

# 禁止自动 update,手动控制更新时机
export HOMEBREW_NO_AUTO_UPDATE=1

常见问题

权限问题

# 修复 /usr/local 权限
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/sbin

查找软件实际安装位置

# 查看命令所在路径
which <command>

# 查看 brew 管理的软件安装路径
brew --prefix <formula>

重装某个软件

brew reinstall <formula>

查看依赖关系

# 查看某个包的依赖
brew deps <formula>

# 查看某个包被哪些包依赖
brew uses --installed <formula>

# 以树形图显示依赖
brew deps --tree <formula>

快速参考

brew install <pkg>          # 安装
brew uninstall <pkg>        # 卸载
brew upgrade [<pkg>]        # 升级
brew search <keyword>       # 搜索
brew info <pkg>             # 查看信息
brew list                   # 列出已安装
brew update                 # 更新索引
brew cleanup                # 清理缓存
brew doctor                 # 诊断问题
brew services list          # 查看服务
brew services start <svc>   # 启动服务
brew services stop <svc>    # 停止服务