三分钟上手 Homebrew 包管理器:一条命令装好并更新 macOS 与 Linux 全部软件
【免费下载链接】brew🍺 The Package Manager for Everywhere项目地址: https://gitcode.com/GitHub_Trending/br/brew
又到周一的例行配置时刻:打开浏览器,搜索软件官网,找下载链接,等镜像,解压,拖进 Applications,再手动配一遍 PATH。这一套动作手动完成平均要花 10 分钟,碰上需要从源码编译的软件,半小时起步。而用 Homebrew 包管理器,全程只剩一条命令,多数软件因为走预编译的 bottle,从敲回车到装完用不了一分钟。这个自称 The Package Manager for Everywhere 的开源项目,正在同时接管 macOS、Linux 甚至 WSL 上的软件安装,值得你花三分钟认真上手。
先看内部:formula、bottle 与 cask 如何把安装压缩成一条命令
一条命令能装任何软件,靠的不是黑魔法,而是一套被反复验证的约定。Homebrew 的核心是一份份 Ruby 脚本,叫 formula(配方),里面记录了软件的下载地址、依赖关系和安装步骤。你输入brew install ffmpeg时,Homebrew 会先解析依赖树,把 libx264、libvpx 这类底层库按正确顺序装好,再安装 ffmpeg 本体——手动装时最容易在依赖这一步翻车,而它替你排好了队。
不让你重复编译,是 Homebrew 体贴的第二处。官方 CI 在受控环境里把软件编译成预构建二进制包(bottle),你下载即用。从源码编译 Python、Node 这类大件往往要二三十分钟,bottle 通常一分钟内完成,这也是它敢称"高效"的底气。
装图形界面应用则走另一套 cask 机制。每个 cask 文件像一张配送单:写明安装包从哪下载、SHA-256 校验值是多少、装到哪个目录。下载完成后 Homebrew 自动比对哈希,不一致就拒绝安装,相当于给每次下载上了一道锁。
质量上也不用赌运气。Homebrew 的 test-bot 会在 macOS 与 Linux 多套环境里跑自动化测试,任何改动只有全绿才会被合并进仓库,从源头拦下会坏事的配方。
理解了这三层分工,你就抓住了它的设计骨架:formula 管命令行工具,cask 管桌面应用,bottle 管安装速度,依赖与校验由 brew 统一兜底。
Homebrew 安装教程:三步跑通第一条 install 命令
从零到跑通第一条brew install,只需三步。先补齐环境:macOS 需要 Xcode 命令行工具,Linux 需要基础编译链与 git,随后执行官方安装脚本(脚本来自官方文档,macOS 与 Linux 通用,执行前会逐条列出它要做的事等你确认):
# macOS 准备命令行工具 xcode-select --install # Debian / Ubuntu 准备基础依赖 sudo apt-get install build-essential procps curl file git装完后按提示把 brew 加入当前 shell。不同平台的默认路径不同:macOS Apple Silicon 是 /opt/homebrew,Intel 是 /usr/local,Linux 是 /home/linuxbrew/.linuxbrew。以 zsh 为例:
eval "$(/opt/homebrew/bin/brew shellenv)" echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc brew --version # 验证是否安装成功到这里安装本身已经结束,之后所有操作都无需 sudo。现在装你的第一个软件:
brew install jq # 命令行工具,自动处理依赖 brew install --cask drawio # 桌面应用,加 --cask 即可留意一个细节:brew install会顺带装好依赖,这正是它和"下个压缩包手动解压"最本质的区别。有了第一个软件,下一步是把日常操作盘熟。
brew 命令速查:安装、更新、卸载、清理的日常闭环
日常维护只需记住八条命令,其余都可以交给brew help:
| 你要做的事 | 命令 | 说明 |
|---|---|---|
| 安装命令行软件 | brew install git | 自动解析并装好依赖 |
| 安装 GUI 应用 | brew install --cask wechat | 下载、校验、安装一气呵成 |
| 搜索软件 | brew search "note" | 同时匹配 formula 与 cask |
| 查看可更新项 | brew outdated | 列出待升级的软件 |
| 升级全部 | brew upgrade | 先brew update再升级更稳妥 |
| 卸载软件 | brew uninstall git | 连旧版本一起清掉 |
| 清理缓存与旧版 | brew cleanup | 释放被占用的磁盘空间 |
对照传统流程,收益更直观:
| 环节 | 手动做法 | brew 做法 |
|---|---|---|
| 安装 | 官网下载→解压→拖拽→配 PATH,7 步 | 1 条命令 |
| 升级 | 重下新包、重走一遍流程 | brew upgrade |
| 卸载 | 拖进废纸篓,残留文件靠手动找 | 1 条命令 |
把这套闭环跑顺,接下来可以玩点更进阶的。
进阶玩法:Brewfile 一键复刻环境,services 托管常驻进程
如果"把软件装好"是入门,那"把整个环境装好"就是进阶。brew bundle用一份 Brewfile 描述你想要的最终状态,而不是一串命令序列。迁移到新电脑时,先把当前环境导出:
brew bundle dump --describe # 导出为 Brewfile新机器上执行brew bundle install即可一键还原。这份文件同时也是开发环境的"活文档":
brew "git" brew "node" brew "postgresql@16", restart_service: true cask "drawio"需要常驻后台的数据库、队列等服务,交给brew services托管,开机自启、日志统一管理:
brew services start postgresql@16 brew services list重装系统后,过去要折腾半天的环境恢复,现在跑两行命令就绪。想研究源码或参与贡献的开发者,可以直接 clone 本仓库git clone https://gitcode.com/GitHub_Trending/br/brew,从源码运行与调试。
避坑指南:几个让 brew 变难用的操作习惯
避开下面几个习惯,brew 会顺手得多。
别给 brew 加 sudo。Homebrew 从设计上就不需要 root,软件都装在自己的目录里,加 sudo 反而会破坏文件属主,brew doctor会立刻向你告警。
别和 keg-only 公式硬碰硬。像 openjdk 这类公式默认"不链接",专门避免覆盖系统自带的同名版本。它们能正常使用,只是不抢占系统 PATH,不必强行解除。
装完别跳过 shell 配置。出现command not found: brew,十有八九是漏了 shellenv 那一步,回到上文配置即可。
升级前先 update。直接brew upgrade可能基于过期索引操作,养成brew update后再升级的习惯,能少踩很多版本错位。
定期 cleanup。Homebrew 会保留旧版本以便回滚,勤用brew cleanup能省下可观的磁盘空间。
从一条命令开始,把琐事交出去
软件安装本不该占用你的注意力。依赖不用自己记、升级不用到处找新包、重装系统不再是灾难——把这类重复劳动交给 Homebrew,省下的不只是每次几分钟,而是一整套心智负担。今天就从你每天必用的那款工具开始,跑一次brew install,再执行brew doctor确认环境健康。工具的价值不在功能列表,而在你真正开始用它之后。
延伸学习资源:
- 官方安装文档:docs/Installation.md
- Homebrew on Linux 指南:docs/Homebrew-on-Linux.md
- Cask 编写指南:docs/Cask-Cookbook.md
- Brewfile 高级用法:docs/Brew-Bundle-and-Brewfile.md
【免费下载链接】brew🍺 The Package Manager for Everywhere项目地址: https://gitcode.com/GitHub_Trending/br/brew
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考