什么是 Homebrew?
Homebrew 是 macOS(和 Linux)操作系统上最流行的包管理器 (Package Manager)。它的核心使命是: "将 Apple 没有预装但你需要的东西装给你" 。
你可以把它想象成一个巨大的、由社区维护的软件商店,但它是专门为命令行工具 和开源软件服务的。通过几句简单的命令,你就可以轻松地安装、更新、卸载和管理成千上万的软件包,而无需手动去官网下载、拖拽安装或处理复杂的依赖关系。
核心概念与比喻
- 包管理器 (Package Manager):
就像手机上的 App Store 或 Google Play 。你不需要关心软件从哪里下载、如何安装、依赖哪些库,你只需要告诉它你要什么(例如搜索"微信"
->点击"安装"
),商店就会自动帮你完成所有事情。Homebrew 就是程序员和高级用户的"命令行版 App Store"。 - Formula (公式) 🧪:
这是 Homebrew 最基础的概念。一个 Formula 就是一个 Ruby 脚本,它详细描述了如何编译和安装一个软件包。它包含了软件的下载地址、依赖关系、编译选项等所有信息。
简单说:一个 Formula 对应一个软件(如wget
,node
,python
)。 - Cask (木桶) 🛢️:
是 Homebrew 的一个扩展。如果说 Formula 主要用于安装命令行工具 ,那么 Cask 就是用来安装 macOS 图形界面应用程序 的(如 Google Chrome、Visual Studio Code、Spotify)。Cask 会自动把这些应用下载并安装到你的/Applications
文件夹中,就像你手动拖拽安装一样。 - Tap ( tapped / 探源) 🚰:
默认情况下,Homebrew 从官方的 Formula 和 Cask 仓库获取软件列表。但社区还有很多第三方或个人维护的软件库。"Tapping"一个仓库就像"添加一个额外的软件源",这样你就能安装官方源里没有的软件了。
例如:brew tap homebrew/cask-fonts
后,你就可以安装font-fira-code
等字体了。 - Keg (桶) 🪣:
指一个 Formula 被编译安装后的所有文件所在的具体目录(通常位于/usr/local/Cellar/
下)。每个版本对应一个 Keg。 - Cellar (地窖) 🧱:
所有通过 Homebrew 安装的软件(Kegs)都被放在这里,默认路径是/usr/local/Cellar
。这保证了 Homebrew 安装的软件与系统自带的软件隔离,管理起来非常清晰。
Homebrew 解决了什么痛点?
在没有 Homebrew 之前,在 macOS 上安装开发环境非常麻烦:
- 手动下载: 需要打开浏览器,找到软件官网,找到下载链接,选择正确版本。
- 处理依赖: 软件 A 依赖库 B,库 B 又依赖库 C......你需要手动解决所有这些依赖关系,极其繁琐且容易出错。
- 更新困难: 要更新一个软件,需要重复手动下载、安装的过程,无法批量更新。
- 卸载残留: 手动安装的软件,卸载时很难清理干净,会在系统里留下各种碎片文件。
Homebrew 自动化地解决了所有这些问题。
安装&卸载
安装脚本 (终端中粘贴下方命令回车) :
bash
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
卸载脚本:
bash
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"
常用命令
一、核心命令(最常用)
1. 安装软件包
bash
brew install <formula_name>
示例: 安装 wget
bash
brew install wget
2. 卸载软件包
bash
brew uninstall <formula_name>
示例: 卸载 wget
bash
brew uninstall wget
3. 更新 Homebrew 自身
这是最重要的一步,确保获取到最新的软件列表和版本信息。
bash
brew update
4. 升级所有已安装的软件包
在执行 brew upgrade
之前,最好先执行 brew update
。
bash
brew upgrade
只升级某个特定软件:
bash
brew upgrade <formula_name>
5. 查看已安装的软件列表
bash
brew list
或显示更详细的信息(包括版本):
bash
brew list --versions
二、查询与搜索命令
1. 搜索软件包
bash
brew search <keyword>
示例: 搜索与 python
相关的包
bash
brew search python
2. 查看软件包信息
显示某个软件的详细信息,如版本、依赖、安装位置等。
bash
brew info <formula_name>
示例: 查看 node
的信息
bash
brew info node
3. 检查过时的软件
列出所有可以升级的软件。
bash
brew outdated
三、管理与诊断命令
1. 清理旧版本软件
Homebrew 会保留之前安装的旧版本软件,这个命令可以自动清理它们,非常实用。
bash
brew cleanup
查看哪些软件将被清理(不实际执行):
bash
brew cleanup -n
2. 诊断 Homebrew 问题
如果遇到问题,运行这个命令可以检查常见问题并给出修复建议。
bash
brew doctor
3. 查看服务管理(非常实用!)
对于像 nginx
, mysql
, redis
这类软件,Brew 可以像 systemd
一样管理它们的服务。
-
列出所有服务状态:
bashbrew services list
-
启动一个服务(并设置开机自启):
bashbrew services start <formula_name>
-
停止一个服务(并取消开机自启):
bashbrew services stop <formula_name>
-
重启一个服务:
bashbrew services restart <formula_name>
示例: 启动 redis
并设置为开机自启
bash
brew services start redis
四、高级命令
1. 锁定某个软件的版本
防止某个软件被 brew upgrade
意外升级。
bash
brew pin <formula_name>
取消锁定:
bash
brew unpin <formula_name>
2. 查看依赖关系
显示某个软件依赖哪些其他软件,或者其他哪些软件依赖它。
bash
brew deps --tree <formula_name>
五、Cask 命令(用于安装图形界面应用)
Homebrew Cask 是 Homebrew 的扩展,用于安装 macOS 应用程序(如 Chrome、Visual Studio Code 等)。
-
安装一个应用程序:
bashbrew install --cask <app_name>
示例: 安装 Google Chrome
bashbrew install --cask google-chrome
-
搜索 Cask 应用: (同样使用
search
)bashbrew search --cask <app_name>
-
列出已安装的 Cask 应用:
bashbrew list --cask
常用命令组合与工作流
日常更新所有软件的最佳实践:
bash
# 1. 先更新 Homebrew 自身
brew update
# 2. 查看哪些软件可以升级
brew outdated
# 3. 升级所有软件(或指定软件)
brew upgrade
# 4. 清理旧版本
brew cleanup
# 5. (可选)检查是否有问题
brew doctor
一键更新并清理:
bash
brew update && brew upgrade && brew cleanup