Homebrew新手入门:安装、使用及常见命令详解
Homebrew 新手入门:安装、使用及常见命令详解
对于 macOS 和 Linux 用户来说,拥有一个高效的软件包管理器是至关重要的。Homebrew,通常被称为 "macOS 缺少(或 Linux)的软件包管理器",正是这样一款工具。它简化了软件的安装、更新、卸载和管理过程,让你可以轻松地获取各种开发工具、应用程序和库。
本文将深入探讨 Homebrew,从安装到日常使用,再到一些高级技巧,帮助你全面掌握这个强大的工具。无论你是刚接触命令行的新手,还是经验丰富的开发者,都能从中受益。
一、Homebrew 是什么?
Homebrew 是一个用 Ruby 编写的开源软件包管理器,最初是为 macOS 设计的,后来也增加了对 Linux 和 Windows Subsystem for Linux (WSL) 的支持。它的主要目标是简化在这些操作系统上安装、管理那些不在官方软件仓库中的软件的过程。
Homebrew 的核心概念:
- Formula(配方): Homebrew 使用 "Formula" 来描述如何构建和安装一个软件包。每个 Formula 都是一个 Ruby 脚本,包含了软件包的名称、版本、依赖关系、下载地址以及安装步骤等信息。
- Tap(软件仓库): Tap 是 Formula 的集合,类似于软件仓库。Homebrew 默认使用官方的 "core" tap,但也允许你添加其他第三方 tap 来获取更多的软件包。
- Keg(酒桶): 当一个 Formula 被安装后,它的文件会被放置在一个称为 "Keg" 的目录中。Keg 的路径通常是
/usr/local/Cellar
(macOS)或/home/linuxbrew/.linuxbrew/Cellar
(Linux)。 - Cellar(酒窖): Cellar 是存放所有已安装软件包(Keg)的根目录。
- Bottle(瓶子): Bottle 是预先编译好的二进制软件包,可以直接安装,无需从源码编译,大大节省了安装时间。
Homebrew 的优势:
- 简单易用: Homebrew 的命令简洁明了,即使是命令行新手也能快速上手。
- 庞大的软件库: Homebrew 拥有庞大的官方软件库,包含了数千个常用的软件包,涵盖了开发、设计、办公、娱乐等各个领域。
- 活跃的社区: Homebrew 拥有一个活跃的社区,你可以轻松地找到帮助、反馈问题或参与贡献。
- 版本控制: Homebrew 可以轻松管理软件包的不同版本,方便你在需要时切换或回滚。
- 依赖管理: Homebrew 会自动处理软件包之间的依赖关系,确保所有需要的组件都能正确安装。
- 无需 root 权限: Homebrew 将软件包安装在用户目录下,无需 root 权限,避免了对系统造成潜在的风险。
二、安装 Homebrew
在安装 Homebrew 之前,你需要确保你的系统满足以下要求:
- macOS:
- macOS 10.13 或更高版本。
- 64 位 Intel CPU 或 Apple Silicon CPU。
- 安装了 Xcode 命令行工具(Command Line Tools for Xcode)。你可以在终端中运行
xcode-select --install
来安装。
- Linux:
- glibc 2.23 或更高版本。
- Linux 内核 2.6.32 或更高版本。
- 安装了 GCC 4.4 或更高版本。
- Windows Subsystem For Linux:
- Debian,Ubuntu等发行版
安装步骤:
-
打开终端(Terminal): 你可以在 "应用程序" -> "实用工具" 中找到终端,或者使用 Spotlight 搜索 "Terminal"。
-
运行安装脚本: 在终端中复制并粘贴以下命令,然后按回车键执行:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"这个脚本会自动下载并安装 Homebrew,以及它所依赖的一些工具。
-
按照提示操作: 安装过程中,脚本会提示你输入密码(macOS)或确认安装路径。按照提示操作即可。
-
配置环境变量: 安装完成后,你需要将 Homebrew 的
bin
目录添加到你的PATH
环境变量中,这样才能在终端中直接使用 Homebrew 命令。-
macOS(Apple Silicon):
将以下两行添加到你的.zprofile
文件中,如果没有这个文件,手动创建一个:
bash
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
然后运行
bash
source ~/.zprofile -
macOS(Intel):
将以下两行添加到你的
.zprofile
文件中,如果没有这个文件,手动创建一个:bash
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
然后运行
bash
source ~/.zprofile -
Linux 或 WSL:
将以下内容添加到你的
.bashrc
或.zshrc
文件中(取决于你使用的 shell):bash
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
然后运行
bash
source ~/.bashrc # 或 source ~/.zshrc
* 注意: 如果你的linuxbrew安装位置不是默认的/home/linuxbrew/.linuxbrew/
, 请自行更改上述代码.
-
-
验证安装: 在终端中运行以下命令:
bash
brew doctor如果一切正常,你会看到 "Your system is ready to brew." 的提示。如果有任何问题,
brew doctor
会给出详细的诊断信息和解决方案。你还可以运行
brew --version
来查看 Homebrew 的版本号,以确认安装成功。
三、Homebrew 常用命令
安装好 Homebrew 后,你就可以开始使用它来管理软件包了。下面是一些最常用的 Homebrew 命令:
1. 搜索软件包:
bash
brew search <keyword>
例如,要搜索 Git 相关的软件包,可以运行:
bash
brew search git
Homebrew 会列出所有包含 "git" 关键字的 Formula 和 Cask。
2. 安装软件包:
bash
brew install <formula>
例如,要安装 Git,可以运行:
bash
brew install git
Homebrew 会自动下载、编译(如果需要)并安装 Git,以及它所依赖的其他软件包。
3. 卸载软件包:
bash
brew uninstall <formula>
例如,要卸载 Git,可以运行:
bash
brew uninstall git
Homebrew 会删除 Git 及其相关的配置文件。
4. 更新软件包:
-
更新 Homebrew 本身:
bash
brew update这个命令会更新 Homebrew 的 Formula 和 Tap 列表,确保你拥有最新的软件包信息。
-
更新已安装的软件包:
bash
brew upgrade这个命令会更新所有已安装的、有新版本的软件包。
-
更新指定的软件包:
bash
brew upgrade <formula>例如,要更新 Git,可以运行:
bash
brew upgrade git
5. 列出已安装的软件包:
bash
brew list
这个命令会列出所有通过 Homebrew 安装的软件包。
6. 查看软件包信息:
bash
brew info <formula>
例如,要查看 Git 的详细信息,可以运行:
bash
brew info git
这个命令会显示软件包的版本、描述、依赖关系、安装路径、安装选项等信息。
7. 清理旧版本的软件包:
bash
brew cleanup
这个命令会删除所有已安装软件包的旧版本,释放磁盘空间。
bash
brew cleanup <formula>
这个命令会删除指定软件包的旧版本。
8. 查看软件包的依赖关系:
bash
brew deps <formula>
例如,要查看 Git 的依赖关系,可以运行:
bash
brew deps git
这个命令会列出 Git 所依赖的所有其他软件包。
9. 搜索可用的 Tap:
bash
brew tap
这个命令会列出所有已添加的 Tap。
10. 添加 Tap:
bash
brew tap <user>/<repo>
例如,要添加 homebrew/cask
Tap,可以运行:
bash
brew tap homebrew/cask
这允许你安装更多的应用程序。
11. 删除 Tap:
bash
brew untap <user>/<repo>
例如,要删除 homebrew/cask
Tap,可以运行:
bash
brew untap homebrew/cask
12. 诊断 Homebrew 问题:
bash
brew doctor
这个命令会检查你的 Homebrew 安装是否存在问题,并提供解决方案。
13.查看homebrew帮助
bash
brew help
或
bash
man brew
14. 显示formulae和Casks的过时信息
bash
brew outdated
四、Homebrew Cask:安装图形界面应用程序
Homebrew Cask 是 Homebrew 的一个扩展,专门用于安装和管理 macOS 上的图形界面应用程序(如 Chrome、Firefox、VS Code 等)。它与 Homebrew 的 Formula 类似,但 Cask 是用来描述如何安装和管理应用程序的。
常用命令:
-
安装应用程序:
bash
brew install --cask <cask>例如,要安装 Visual Studio Code,可以运行:
bash
brew install --cask visual-studio-code -
卸载应用程序:
bash
brew uninstall --cask <cask>例如,要卸载 Visual Studio Code,可以运行:
bash
brew uninstall --cask visual-studio-code -
搜索应用程序:
bash
brew search --cask <keyword>例如,要搜索与 "video" 相关的应用程序,可以运行:
bash
brew search --cask video -
查看应用程序信息:
bash
brew info --cask <cask>
例如:
bash
brew info --cask firefox -
列出所有通过cask安装的软件
bash
brew list --cask
注意:在较新版本的 Homebrew 中,--cask
选项可以省略。例如,brew install visual-studio-code
与 brew install --cask visual-studio-code
效果相同。
五、Homebrew 进阶技巧
1. 使用 Bottle 加速安装:
Homebrew 默认会尝试使用 Bottle(预编译的二进制包)来安装软件,这可以大大节省安装时间。如果由于某种原因无法使用 Bottle,Homebrew 会从源码编译安装,这可能会花费较长时间。
你可以通过设置环境变量 HOMEBREW_NO_BOTTLE=1
来强制 Homebrew 从源码编译安装,或者设置 HOMEBREW_BOTTLE_DOMAIN
来使用自定义的 Bottle 镜像源。
2. 使用不同的 Shell:
Homebrew 默认使用系统的默认 Shell。你可以通过设置环境变量 SHELL
来指定使用不同的 Shell。
3. 自定义 Homebrew 安装路径:
默认情况下,Homebrew 会将软件包安装在 /usr/local/Cellar
(macOS)或 /home/linuxbrew/.linuxbrew/Cellar
(Linux)。你可以通过设置环境变量 HOMEBREW_PREFIX
来自定义 Homebrew 的安装路径。
4. 创建自己的 Formula:
如果你需要的软件包不在 Homebrew 的官方软件库中,你可以创建自己的 Formula。这需要一些 Ruby 编程知识,但 Homebrew 提供了详细的文档和示例来帮助你完成这个任务。
5. 使用 Brewfile 管理依赖:
类似于 Python 的 requirements.txt
或 Node.js 的 package.json
,你可以使用 Brewfile 来管理你的 Homebrew 依赖。Brewfile 是一个文本文件,列出了所有你需要安装的 Formula 和 Cask。
创建一个名为 Brewfile
的文件,并在其中添加以下内容:
tap "homebrew/cask"
brew "git"
brew "node"
cask "visual-studio-code"
然后,在包含 Brewfile
的目录中运行以下命令:
bash
brew bundle
Homebrew 会自动安装 Brewfile
中列出的所有软件包。
6. 固定软件包版本:
如果你需要固定某个软件包的版本,防止它被 brew upgrade
更新,可以使用 brew pin <formula>
命令。例如:
bash
brew pin git
这将阻止 Git 被更新。要取消固定,可以使用 brew unpin <formula>
命令:
bash
brew unpin git
六、常见问题解答
-
安装过程中出现错误怎么办?
仔细阅读错误信息,通常错误信息会给出详细的提示。你可以尝试以下方法:
- 确保你的系统满足 Homebrew 的安装要求。
- 运行
brew doctor
来诊断问题。 - 检查你的网络连接是否正常。
- 更新 Xcode 命令行工具。
- 在 Homebrew 的 GitHub 仓库中搜索类似的问题,或提交一个新的 issue。
-
如何切换 Homebrew 的镜像源?
为了提高国内用户的访问速度,你可以切换到国内的 Homebrew 镜像源。以下是一些常用的镜像源:
-
清华大学 TUNA 镜像源:
替换core的源:
bash
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
替换homebrew-core的源:
bash
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
替换homebrew-cask的源(可选):
bash
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
zsh用户:
bash
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
bash用户:
bash
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile -
中国科学技术大学 USTC 镜像源:
替换core的源:
```bash git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git ``` 替换homebrew-core的源: ```bash git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git ``` zsh用户: ```bash echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc source ~/.zshrc ``` bash用户: ```bash echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile ```
-
阿里巴巴开源镜像站:
替换core的源:bash
git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
替换homebrew-core的源:
```bash git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git ``` zsh用户: ```bash echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc source ~/.zshrc ``` bash用户: ```bash echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile ```
- 恢复默认源
bash
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
-
-
brew install
和brew cask install
有什么区别?brew install
用于安装命令行工具和库(Formula),而brew cask install
用于安装图形界面应用程序(Cask)。在较新版本的 Homebrew 中,brew install
也可以用于安装 Cask,--cask
选项可以省略。 -
如何完全卸载 Homebrew?
Homebrew 提供了一个卸载脚本,可以帮助你完全卸载 Homebrew 及其相关文件。在终端中运行以下命令:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"按照提示操作即可。
七、总结
Homebrew 是一款强大而易用的软件包管理器,可以极大地提高你在 macOS 和 Linux 上的工作效率。本文详细介绍了 Homebrew 的安装、使用、常用命令以及一些进阶技巧,希望能帮助你快速掌握这个工具。
掌握 Homebrew 只是你探索 macOS 和 Linux 世界的第一步。随着你对命令行的深入了解,你会发现更多有趣和实用的工具,让你的工作和生活更加便捷。