Homebrew

type
Post
status
Published
summary
Homebrew 是 macOS 和 Linux 下的包管理器,用于安装和管理各种开发工具、系统库和常用软件。其口号是:“The missing package manager for macOS (or Linux)” Homebrew 通过简单的命令就能安装、更新、卸载和查找软件包,极大地简化了软件管理流程,尤其适合开发者使用。
slug
mac-homebrew
date
May 19, 2025
tags
Homebrew
category
实践技巧
password
icon
URL
Property
May 19, 2025 08:33 AM
Homebrew 是 macOS 和 Linux 下的包管理器,用于安装和管理各种开发工具、系统库和常用软件。其口号是:“The missing package manager for macOS (or Linux)”
Homebrew 通过简单的命令就能安装、更新、卸载和查找软件包,极大地简化了软件管理流程,尤其适合开发者使用。

安装 Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 会自动安装 Command Line Tools(若尚未安装)。
 
Homebrew 默认安装位置:
  • Apple Silicon (M1/M2/M3): /opt/homebrew
  • Intel 芯片: /usr/local
安装成功后提示添加路径,按提示将如下内容加入 shell 配置文件中(如 ~/.zshrc):
# Apple Silicon eval "$(/opt/homebrew/bin/brew shellenv)"

Homebrew 基本命令

brew help # 查看 Homebrew 的帮助信息 brew doctor # 检查 Homebrew 配置和环境是否存在问题 brew update # 更新 Homebrew 自身和 formula 索引 brew --version # 查看当前 Homebrew 的版本 brew --prefix # 显示 Homebrew 的安装路径 brew --cellar # 安装软件包的位置 brew --repo # 查看本地 Git 仓库 brew config # 查看当前系统与 Brew 配置详情 brew missing # 显示缺失依赖项(部分版本支持)

软件包安装管理

brew search <formula|cask|text> # 搜索软件包或应用,支持模糊匹配 brew search --desc <keyword> # 根据描述搜索软件包(更精准) brew info <package> # 查看软件包的详细信息 brew info <formula|cask> # 查看软件包的版本、安装路径、依赖、说明等 brew home <formula> # 打开软件的主页(需 GUI 浏览器) brew install <formula> # 安装命令行工具 brew install --cask <cask_name> # 安装 GUI 应用程序 brew install --HEAD <formula> # 安装开发版 brew install --build-from-source <formula> # 从源码安装 brew install <pkg>@<version> # 安装指定版本,如:[email protected] brew list # 显示已安装的 formula 包 brew list --cask # 显示已安装的 cask GUI 应用 brew list --versions # 显示安装的软件及其版本 brew list <formula> # 查看某个软件的安装文件路径 brew outdated # 查看可升级的软件包 brew outdated --greedy # 包括已固定软件包一起列出可更新项 brew upgrade # 升级所有已安装的软件包 brew upgrade <formula> # 升级指定包 brew pin <formula> # 锁定某个软件的版本(不再升级) brew unpin <formula> # 解锁 brew edit <package> # 编辑该软件包的 formula 文件 brew reinstall <package> # 重新安装软件包 brew uninstall <formula> # 卸载命令行软件 brew uninstall --cask <cask_name> # 卸载 GUI 应用 brew uninstall --ignore-dependencies <formula> # 忽略依赖强制卸载(危险⚠️) brew cleanup # 删除旧版本、缓存等无用文件 brew cleanup -n # 只预览清理内容

路径与依赖管理

brew prefix <package> # 查看软件包的安装路径 brew uses --help # 查看依赖的帮助选项 brew uses imagemagick --installed # 查看「已安装」的软件中谁依赖了 imagemagick brew uses imagemagick --eval-all # 查看所有软件(无论是否安装)中谁依赖了 imagemagick(⚠️ 慎用,慢) brew uses imagemagick --installed --recursive # 递归查出所有间接依赖 imagemagick 的软件 brew deps # 查看上游依赖 brew deps --help # 查看依赖的帮助选项 brew deps imagemagick # 查看 imagemagick 依赖了哪些其他软件 brew deps imagemagick --1 # 只显示第一层依赖(直接依赖),不递归显示所有依赖。 brew deps imagemagick --direct # 只显示第一层依赖(直接依赖),不递归显示所有依赖。 brew deps imagemagick --tree # 以树状图结构显示依赖关系(推荐用于阅读) brew deps imagemagick --include-build # 显示 :build 类型的依赖(用于构建但不是运行时必须) brew deps imagemagick --include-optional # 显示 :optional 类型的依赖(可选的依赖)。 brew deps imagemagick --installed # 仅显示实际已安装的依赖项(不会显示未安装的依赖)。 brew deps imagemagick --eval-all # 评估所有 formula,不管是否已安装(⚠️ 慎用,慢)。 brew deps imagemagick --tree --installed --include-build | grep python brew deps imagemagick --tree --installed --1 # brew link 将某个已安装的软件包的可执行文件(和其它资源)链接到 /usr/local/bin(Intel)或 /opt/homebrew/bin(Apple Silicon)等系统路径中,使得你可以在终端中全局使用该软件。 brew link <package> # 创建符号链接,使其可全局使用 brew link --overwrite <package> # 如果已有链接存在,则覆盖它 brew link --force <package> # 强制创建链接,可能覆盖系统文件(慎用) brew link --dry-run <package> # 查看将会创建哪些链接(不实际执行) brew unlink <package> # 解除链接,但不会卸载该软件包

添加或替换源

brew tap # 查看当前已添加的 Tap(仓库) brew tap <user>/<repo> # 添加官方或第三方 Tap ;brew tap homebrew/cask brew untap <user>/<repo> # 移除已添加的 Tap # 查看当前远程源地址 brew -v # 显示版本及远程信息 git -C "$(brew --repo)" remote -v # 查看 Homebrew 仓库远程地址 git -C "$(brew --repo homebrew/core)" remote -v # 查看 core 仓库远程地址 # 替换默认 Homebrew 源(官方源换成国内镜像) # 方式一:修改 Homebrew Git 仓库地址 —— 更彻底,所有安装和更新从镜像源拉取 git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git # 替换 brew.git git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git # 替换 homebrew-core.git git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git # 替换 homebrew-cask.git(可选) # 方式二:设置环境变量(用于 brew install 下载源镜像) —— 只加速预编译二进制包下载,源码更新未加速 export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles # 临时设置环境变量——使用中科大镜像 echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile # 永久设置环境变量(bash shell) source ~/.bash_profile echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc # 永久设置环境变量(zsh shell) source ~/.zshrc # 恢复默认源(官方 GitHub) git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git # 还原 brew.git git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git # 还原 homebrew-core git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git # 还原 homebrew-cask(可选) # 移除 bottle 加速 sed -i '' '/HOMEBREW_BOTTLE_DOMAIN/d' ~/.zshrc # 直接在你的 ~/.zshrc 文件中删除所有包含 HOMEBREW_BOTTLE_DOMAIN 的行,常用于清理之前设置的 Homebrew 镜像源环境变量。 # sed:流编辑器,用于对文本进行处理。 # -i '':表示“就地编辑(in-place)”,直接修改文件内容。macOS 版 sed 需要跟一个空字符串 '' 作为 -i 参数,表示不备份。 # '/HOMEBREW_BOTTLE_DOMAIN/d':这是一个 sed 命令,意思是查找包含字符串 HOMEBREW_BOTTLE_DOMAIN 的所有行并删除它们(d 表示删除)。 # ~/.zshrc:目标文件,通常是 zsh 的配置文件。 source ~/.zshrc

服务(daemon)

brew services list # 显示当前已注册的服务 brew services start <pkg> # 启动服务 brew services stop <pkg> # 停止服务 brew services restart <pkg> # 重启服务

常见路径(Apple Silicon)

# Homebrew 根目录 /opt/homebrew # Formula 安装目录 /opt/homebrew/Cellar # 配置环境变量 export PATH="/opt/homebrew/bin:$PATH" export PATH="/opt/homebrew/sbin:$PATH"
If you have any questions, please contact me.