Homebrew Package Manager
Complete Homebrew command reference and usage guide for installing, managing, and troubleshooting macOS packages.
When to Use
- - Installing packages or applications (
brew install X) - Searching for available packages (
brew search X) - Updating and upgrading existing packages
- Checking package information and dependencies
- Troubleshooting installation issues
- Managing installed packages
Command Reference
Package Search & Information
brew search TEXT|/REGEX/
Usage: Find packages by name or regex pattern
When to use: When user asks to find or search for a package
Examples:
CODEBLOCK0
brew info [FORMULA|CASK...]
Usage: Display detailed information about one or more packages
When to use: Before installing to see dependencies, options, and details
Examples:
CODEBLOCK1
Installation & Upgrades
brew install FORMULA|CASK...
Usage: Install one or more packages or applications
When to use: When user says "install X" or "use brew to install X"
Notes:
- - FORMULA = command-line tools (installed to /usr/local/bin)
- CASK = GUI applications (installed to /Applications)
- Can install multiple at once: INLINECODE5
Examples:
CODEBLOCK2
brew update
Usage: Fetch the newest version of Homebrew and all formulae
When to use: When brew seems outdated or before major operations
Notes: Doesn't upgrade packages, just updates the package list
Examples:
CODEBLOCK3
brew upgrade [FORMULA|CASK...]
Usage: Upgrade installed packages or specific packages
When to use: When user wants to update to newer versions
Notes:
- - Without args: upgrades all outdated packages
- With args: upgrades only specified packages
Examples:
CODEBLOCK4
Package Management
brew uninstall FORMULA|CASK...
Usage: Remove installed packages
When to use: When user wants to remove/delete a package
Notes: Can uninstall multiple at once
Examples:
CODEBLOCK5
brew list [FORMULA|CASK...]
Usage: List installed packages or files from specific packages
When to use: When user wants to see what's installed or what files a package contains
Examples:
CODEBLOCK6
Configuration & Troubleshooting
brew config
Usage: Display Homebrew configuration and environment info
When to use: Debugging installation issues or checking system setup
Shows:
- - Installation path
- Xcode location
- Git version
- CPU architecture
Examples:
CODEBLOCK7
brew doctor
Usage: Check for potential problems with Homebrew installation
When to use: When experiencing installation issues or errors
Returns: Warnings and suggestions for fixing issues
Examples:
CODEBLOCK8
brew install --verbose --debug FORMULA|CASK
Usage: Install with verbose output and debug information
When to use: When standard install fails and you need detailed error messages
Examples:
CODEBLOCK9
Advanced Usage
brew create URL [--no-fetch]
Usage: Create a new formula from source code
When to use: Creating custom packages (advanced users)
Options:
- -
--no-fetch = don't download source immediately
Examples:
CODEBLOCK10
brew edit [FORMULA|CASK...]
Usage: Edit formula or cask definition
When to use: Customizing package installation (advanced users)
Examples:
CODEBLOCK11
brew commands
Usage: Show all available brew commands
When to use: Learning about additional brew features
Examples:
CODEBLOCK12
brew help [COMMAND]
Usage: Get help for specific command
When to use: Need detailed help for a specific command
Examples:
CODEBLOCK13
Quick Reference
| Task | Command |
|---|
| Search for package | INLINECODE18 |
| Get package info |
brew info FORMULA |
| Install package |
brew install FORMULA |
| Install app |
brew install CASK |
| Update package list |
brew update |
| Upgrade all packages |
brew upgrade |
| Upgrade specific package |
brew upgrade FORMULA |
| Remove package |
brew uninstall FORMULA |
| List installed |
brew list |
| Check config |
brew config |
| Troubleshoot |
brew doctor |
Common Workflows
Installing a New Package
- 1. Search: INLINECODE29
- Get info: INLINECODE30
- Install: INLINECODE31
Troubleshooting Installation
- 1. Check config: INLINECODE32
- Run doctor: INLINECODE33
- Retry with debug: INLINECODE34
Maintaining Homebrew
- 1. Update: INLINECODE35
- Check what's outdated:
brew upgrade (shows what would upgrade) - Upgrade all: INLINECODE37
Key Concepts
FORMULA: Command-line tools and libraries (e.g., python, git, node)
CASK: GUI applications (e.g., google-chrome, vscode, slack)
TAP: Third-party formula repositories (e.g., brew tap homebrew/cask-versions)
Notes
- - All brew commands require Homebrew to be installed
- Xcode Command Line Tools are required for building from source
- Some packages may prompt for sudo password
- Different packages have different installation times
- Package names are case-insensitive but shown lowercase by convention
Resources
- - Official docs: https://docs.brew.sh
- Formula documentation: https://github.com/Homebrew/homebrew-core
- Cask documentation: https://github.com/Homebrew/homebrew-cask
Homebrew 包管理器
完整的 Homebrew 命令参考和使用指南,用于安装、管理和故障排除 macOS 软件包。
使用场景
- - 安装软件包或应用程序(brew install X)
- 搜索可用软件包(brew search X)
- 更新和升级现有软件包
- 查看软件包信息和依赖关系
- 排查安装问题
- 管理已安装的软件包
命令参考
软件包搜索与信息
brew search TEXT|/REGEX/
用法: 按名称或正则表达式查找软件包
使用场景: 当用户要求查找或搜索软件包时
示例:
bash
brew search python
brew search /^node/
brew info [FORMULA|CASK...]
用法: 显示一个或多个软件包的详细信息
使用场景: 安装前查看依赖关系、选项和详细信息
示例:
bash
brew info python
brew info chrome google-chrome
安装与升级
brew install FORMULA|CASK...
用法: 安装一个或多个软件包或应用程序
使用场景: 当用户说安装 X或使用 brew 安装 X时
注意:
- - FORMULA = 命令行工具(安装到 /usr/local/bin)
- CASK = GUI 应用程序(安装到 /Applications)
- 可同时安装多个:brew install git python nodejs
示例:
bash
brew install python
brew install google-chrome # 作为 cask 安装
brew install git python nodejs
brew update
用法: 获取最新版本的 Homebrew 和所有配方
使用场景: 当 brew 看起来过时或在重大操作之前
注意: 不升级软件包,仅更新软件包列表
示例:
bash
brew update
brew upgrade [FORMULA|CASK...]
用法: 升级已安装的软件包或指定软件包
使用场景: 当用户想要更新到新版本时
注意:
- - 无参数:升级所有过时软件包
- 带参数:仅升级指定软件包
示例:
bash
brew upgrade # 升级所有过时软件包
brew upgrade python # 仅升级 python
brew upgrade python git # 升级多个
软件包管理
brew uninstall FORMULA|CASK...
用法: 移除已安装的软件包
使用场景: 当用户想要移除/删除软件包时
注意: 可同时卸载多个
示例:
bash
brew uninstall python
brew uninstall google-chrome
brew list [FORMULA|CASK...]
用法: 列出已安装的软件包或特定软件包的文件
使用场景: 当用户想要查看已安装内容或软件包包含的文件时
示例:
bash
brew list # 显示所有已安装软件包
brew list python # 显示 python 安装的文件
配置与故障排除
brew config
用法: 显示 Homebrew 配置和环境信息
使用场景: 调试安装问题或检查系统设置
显示内容:
- - 安装路径
- Xcode 位置
- Git 版本
- CPU 架构
示例:
bash
brew config
brew doctor
用法: 检查 Homebrew 安装的潜在问题
使用场景: 遇到安装问题或错误时
返回: 警告和修复问题的建议
示例:
bash
brew doctor
brew install --verbose --debug FORMULA|CASK
用法: 使用详细输出和调试信息进行安装
使用场景: 标准安装失败且需要详细错误信息时
示例:
bash
brew install --verbose --debug python
高级用法
brew create URL [--no-fetch]
用法: 从源代码创建新配方
使用场景: 创建自定义软件包(高级用户)
选项:
示例:
bash
brew create https://example.com/package.tar.gz
brew edit [FORMULA|CASK...]
用法: 编辑配方或 cask 定义
使用场景: 自定义软件包安装(高级用户)
示例:
bash
brew edit python
brew commands
用法: 显示所有可用的 brew 命令
使用场景: 了解其他 brew 功能
示例:
bash
brew commands
brew help [COMMAND]
用法: 获取特定命令的帮助
使用场景: 需要特定命令的详细帮助时
示例:
bash
brew help install
brew help upgrade
快速参考
| 任务 | 命令 |
|---|
| 搜索软件包 | brew search TEXT |
| 获取软件包信息 |
brew info FORMULA |
| 安装软件包 | brew install FORMULA |
| 安装应用 | brew install CASK |
| 更新软件包列表 | brew update |
| 升级所有软件包 | brew upgrade |
| 升级指定软件包 | brew upgrade FORMULA |
| 移除软件包 | brew uninstall FORMULA |
| 列出已安装 | brew list |
| 检查配置 | brew config |
| 故障排除 | brew doctor |
常见工作流程
安装新软件包
- 1. 搜索:brew search python
- 获取信息:brew info python@3.11
- 安装:brew install python@3.11
安装故障排除
- 1. 检查配置:brew config
- 运行诊断:brew doctor
- 使用调试重试:brew install --verbose --debug FORMULA
维护 Homebrew
- 1. 更新:brew update
- 检查过时:brew upgrade(显示将要升级的内容)
- 全部升级:brew upgrade
关键概念
FORMULA: 命令行工具和库(例如:python、git、node)
CASK: GUI 应用程序(例如:google-chrome、vscode、slack)
TAP: 第三方配方仓库(例如:brew tap homebrew/cask-versions)
注意事项
- - 所有 brew 命令都需要安装 Homebrew
- 从源代码构建需要 Xcode 命令行工具
- 某些软件包可能会提示输入 sudo 密码
- 不同软件包的安装时间不同
- 软件包名称不区分大小写,但按惯例显示为小写
资源
- - 官方文档:https://docs.brew.sh
- 配方文档:https://github.com/Homebrew/homebrew-core
- Cask 文档:https://github.com/Homebrew/homebrew-cask