搞定 Homebrew 安装:看这篇就够了 – wiki基地


搞定 Homebrew 安装:看这篇就够了

在 macOS(甚至 Linux)的世界里,如果你是一位开发者、系统管理员,或者仅仅是一个喜欢探索和定制自己工作环境的技术爱好者,那么你很可能听说过或者正在使用 Homebrew。它被誉为“macOS(或 Linux)缺失的软件包管理器”,是一个强大、灵活且社区驱动的工具,极大地简化了在类 Unix 系统上安装、更新和管理各种开源软件的过程。

很多时候,安装某个命令行工具、开发库或者应用程序,官方文档的第一步往往就是 brew install xxx。这足以证明 Homebrew 的重要性和普及度。然而,对于新手来说,如何正确、顺利地安装 Homebrew,有时也会遇到一些小障碍,比如网络问题、权限问题、环境配置等。

本文旨在成为一份全面、详尽的 Homebrew 安装指南,覆盖从准备工作、安装步骤、环境配置到基础使用和常见问题排查的方方面面。无论你是初次接触 Homebrew,还是在安装过程中遇到了困难,相信阅读本文后,你都能轻松搞定 Homebrew 的安装与配置。

一、 什么是 Homebrew?

简单来说,Homebrew 是一个自由开源的软件包管理系统,它简化了在苹果的 macOS 操作系统以及 Linux 系统上安装软件的过程。

核心理念: Homebrew 将软件包(它称之为 “Formulae”)安装到它们自己独立的目录(通常是 /usr/local/Cellar/opt/homebrew/Cellar),然后通过符号链接(symlink)将文件链接到公共路径(如 /usr/local/bin/opt/homebrew/bin),这样既保持了系统的整洁,又方便了用户调用。对于图形界面应用(它称之为 “Casks”),Homebrew Cask 扩展则负责将它们安装到 /Applications 目录。

与系统自带工具的区别: macOS 本身并不内置一个像 apt (Debian/Ubuntu) 或 yum/dnf (Fedora/CentOS) 那样的命令行包管理器。虽然 App Store 提供了图形化应用的安装方式,但对于大量的命令行工具、开发库和非 App Store 分发的应用,Homebrew 填补了这个空白。

二、 为什么要使用 Homebrew?

在深入安装细节之前,让我们先明确为什么 Homebrew 如此受欢迎,以及它能带来哪些好处:

  1. 安装简便: 只需一条简单的命令 (brew install package_name) 即可安装软件,无需手动下载、解压、配置和编译。
  2. 依赖管理: Homebrew 会自动处理软件包之间的依赖关系。安装某个软件时,它会自动下载并安装其所需的所有依赖库。
  3. 版本管理: 可以轻松安装、切换和管理不同版本的软件。
  4. 保持更新: brew updatebrew upgrade 命令可以方便地更新 Homebrew 自身以及所有已安装的软件包到最新版本。
  5. 社区活跃,软件丰富: Homebrew 拥有庞大且活跃的社区,维护着数以万计的软件包(Formulae)和应用程序(Casks),涵盖了开发工具、数据库、服务器软件、命令行工具、字体、驱动,甚至各种桌面应用。
  6. 环境隔离: Homebrew 通常将软件安装在独立的目录中,减少了与系统自带软件冲突的可能性,卸载也更干净。
  7. 透明可控: Homebrew 的所有操作都是通过脚本执行的,你可以查看每个 Formula 的安装脚本,了解其具体做了什么。
  8. 跨平台潜力: 虽然主要面向 macOS,但其 Linux 版本(Linuxbrew)也日益成熟,可以在 Linux 环境下提供类似的体验。

总而言之,Homebrew 极大地提高了在 macOS/Linux 上获取和管理软件的效率,是现代开发者和技术用户工具箱中不可或缺的一部分。

三、 安装前的准备工作

在开始安装 Homebrew 之前,请确保满足以下先决条件:

  1. 操作系统:

    • macOS: 需要 macOS 10.14 (Mojave) 或更高版本。较新的 macOS 版本通常兼容性更好。
    • Linux: 需要 glibc 2.13 或更高版本,以及一些基础开发工具。
  2. Xcode Command Line Tools (macOS 关键依赖):

    • Homebrew 需要依赖 Xcode Command Line Tools (CLT) 提供的编译器(如 Clang)、Git 和其他一些基础开发工具。即使你不进行 iOS 或 macOS 开发,也需要安装它。
    • 检查是否已安装: 打开“终端”(Terminal.app),输入 xcode-select -p。如果显示类似 /Library/Developer/CommandLineTools 的路径,说明已安装。如果提示错误,则需要安装。
    • 安装方法: 在终端中运行以下命令,系统会弹出对话框提示你安装。按照提示操作即可。
      bash
      xcode-select --install
    • 确认安装: 安装完成后,再次运行 xcode-select -p 确认路径已正确显示。
    • 注意: 安装 CLT 可能需要几分钟到十几分钟,具体取决于你的网络速度。有时,macOS 系统更新后,可能需要重新安装或更新 CLT。
  3. 处理器架构 (macOS):

    • Intel Macs: Homebrew 默认安装路径是 /usr/local
    • Apple Silicon (M1/M2/M3…) Macs: Homebrew 默认安装路径是 /opt/homebrew。安装脚本会自动检测并使用正确的路径。了解这一点有助于后续的环境变量配置和问题排查。
  4. 稳定的网络连接:

    • Homebrew 的安装脚本需要从 GitHub 或其镜像站点下载文件。确保你的网络连接稳定,并且可以访问 github.com 或相应的镜像地址。
    • 中国大陆用户特别注意: 由于网络环境因素,直接访问 GitHub 可能非常缓慢或失败。强烈建议使用国内镜像源进行安装和后续使用,这将在安装步骤中详细说明。
  5. 管理员权限:

    • 安装 Homebrew 通常需要管理员权限(sudo),因为需要创建目录、设置权限等。安装过程中会提示你输入当前用户的登录密码。

四、 Homebrew 安装步骤 (macOS)

准备工作就绪后,就可以开始安装 Homebrew 了。

1. 打开终端

在 macOS 中,你可以通过以下方式打开“终端”应用程序:
* 使用 Spotlight 搜索(Command + Space),输入 “Terminal”,然后按 Enter。
* 前往“应用程序” > “实用工具” > “终端”。

2. 执行官方安装命令

Homebrew 官方提供了一个简单的一行命令来安装。复制以下完整命令粘贴到终端中,然后按 Enter 执行:

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

命令解析:
* /bin/bash -c "...": 使用 Bash shell 执行引号内的命令。
* curl -fsSL ...: 使用 curl 工具下载指定的 URL 内容。
* -f: 当服务器返回错误时,静默失败(不输出 HTML 错误页面)。
* -s: 静默模式,不显示进度条等信息。
* -S: 当发生错误时,显示错误信息。
* -L: 跟随 HTTP 重定向。
* https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh: 这是 Homebrew 官方安装脚本的最新版本的 URL。

3. (可选但强烈推荐) 使用国内镜像源安装 (针对中国大陆用户)

如果直接执行官方命令时 curl 下载脚本缓慢或失败,或者后续安装核心组件时速度极慢,建议切换到国内镜像源。常用的镜像源有中科大(USTC)、清华大学(TUNA)等。

方法一:修改安装脚本源
你可以先单独下载安装脚本,修改其中的仓库地址,再执行。但这相对繁琐且容易出错,不推荐新手使用。

方法二:通过环境变量指定镜像 (推荐)
在执行官方安装命令 之前,先在终端中设置几个环境变量,告诉安装脚本从镜像源拉取代码。以使用中科大镜像源为例:

“`bash
export HOMEBREW_BREW_GIT_REMOTE=”https://mirrors.ustc.edu.cn/brew.git”
export HOMEBREW_CORE_GIT_REMOTE=”https://mirrors.ustc.edu.cn/homebrew-core.git”
export HOMEBREW_BOTTLE_DOMAIN=”https://mirrors.ustc.edu.cn/homebrew-bottles”

如果需要安装 Cask

export HOMEBREW_CASK_GIT_REMOTE=”https://mirrors.ustc.edu.cn/homebrew-cask.git”

然后再执行官方安装命令

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
“`

使用清华大学 TUNA 镜像源:
将上述命令中的 mirrors.ustc.edu.cn 替换为 mirrors.tuna.tsinghua.edu.cn 即可。

注意:
* 这种方式设置的环境变量只在当前终端会话中有效。如果安装过程意外中断,重新打开终端需要重新设置这些环境变量再执行安装命令。
* 安装脚本本身仍然是从 raw.githubusercontent.com 下载的。如果连这个脚本都下载不了,可以尝试科学上网,或者从可靠来源获取 install.sh 脚本内容,保存到本地文件(如 install.sh),然后通过 bash install.sh 执行,并在执行前设置好上述镜像环境变量。

4. 跟随安装提示操作

执行安装命令后,脚本会开始运行。它会:
* 检查环境: 确认 Xcode Command Line Tools 是否安装。
* 请求权限: 提示你需要 sudo 权限,并要求输入你的用户密码(输入密码时屏幕上不会显示任何字符,这是正常的)。输入密码后按 Enter。
* 说明将要进行的操作: 列出将要创建的目录、将要下载的文件等。
* 请求确认:Return (Enter) 键继续安装,或按 Control + C 取消。
* 下载和安装: 开始下载 Homebrew 本体、核心仓库 (homebrew-core) 等必要文件,并进行安装配置。这个过程可能需要一些时间,具体取决于你的网络速度和镜像源(如果使用了)的状况。

5. 配置环境变量 (Apple Silicon Mac 尤其重要)

安装脚本完成后,请仔细阅读终端输出的最后几行信息

  • 对于 Apple Silicon (M1/M2/M3…) Macs:
    Homebrew 安装在 /opt/homebrew。为了让系统能够找到 brew 命令以及通过它安装的软件,你需要将 /opt/homebrew/bin 添加到你的 Shell 环境的 PATH 变量中。安装脚本通常会给出具体的指令,对于默认的 Zsh shell,通常是类似下面这两步:

    1. 将配置命令添加到 Shell 配置文件:
      bash
      (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zprofile

      这条命令会将 eval "$(/opt/homebrew/bin/brew shellenv)" 这行添加到你的 ~/.zprofile 文件末尾。brew shellenv 命令会输出设置 Homebrew 相关环境变量(主要是 PATH)所需的 shell 命令,eval 则执行这些命令。
    2. 立即在当前 Shell 会话中生效:
      bash
      eval "$(/opt/homebrew/bin/brew shellenv)"

      这样你就不需要重启终端或新开一个窗口就能使用 brew 命令了。
  • 对于 Intel Macs:
    Homebrew 安装在 /usr/local。通常 /usr/local/bin 默认就在系统的 PATH 中,或者安装脚本会自动处理。但如果安装后 brew 命令找不到,你可能也需要类似地将 /usr/local/bin 添加到 PATH 中。检查你的 Shell 配置文件(如 ~/.zshrc~/.bash_profile)并按需添加。对应的命令可能是:
    “`bash
    # 对于 Zsh
    (echo; echo ‘eval “$(/usr/local/bin/brew shellenv)”‘) >> ~/.zshrc
    eval “$(/usr/local/bin/brew shellenv)”
    # 或者更传统的 (如果 brew shellenv 不适用或你想手动管理)
    # echo ‘export PATH=”/usr/local/bin:$PATH”‘ >> ~/.zshrc
    # source ~/.zshrc

    对于 Bash

    (echo; echo ‘eval “$(/usr/local/bin/brew shellenv)”‘) >> ~/.bash_profile
    eval “$(/usr/local/bin/brew shellenv)”

    或者

    echo ‘export PATH=”/usr/local/bin:$PATH”‘ >> ~/.bash_profile

    source ~/.bash_profile

    “`
    请务必遵循安装脚本结束时给出的确切指示。

6. 验证安装

完成环境变量配置后,可以通过以下命令验证 Homebrew 是否安装成功:

bash
brew --version

如果安装成功,它会输出类似这样的信息:
Homebrew 4.x.x
Homebrew/homebrew-core (git revision xxxxx; last commit yyyyy)
...

你还可以运行 brew doctor 命令,它会检查你的 Homebrew 环境配置是否健康,并给出建议。首次安装后运行一下是个好习惯:

bash
brew doctor

如果输出 Your system is ready to brew.,那就完美了!如果出现警告或错误,请根据提示进行修复。

五、 Homebrew 安装步骤 (Linux – Linuxbrew)

在 Linux 上安装 Homebrew(通常称为 Linuxbrew)的过程与 macOS 非常相似。

1. 确保满足 Linux 依赖

通常需要安装 build-essential (Debian/Ubuntu) 或 @development-tools (Fedora/CentOS/RHEL) 包组,以及 curl, file, git
例如,在 Debian/Ubuntu 上:
bash
sudo apt-get update
sudo apt-get install build-essential curl file git

在 Fedora/CentOS/RHEL 上:
bash
sudo yum groupinstall 'Development Tools' # 或 dnf
sudo yum install curl file git # 或 dnf

2. 执行安装命令

同样使用官方提供的脚本:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

同样,如果遇到网络问题,可以考虑使用镜像源的环境变量(与 macOS 使用方法相同)。

3. 配置环境变量

Linuxbrew 通常安装在 /home/linuxbrew/.linuxbrew (如果系统支持且权限允许) 或用户家目录下的 .linuxbrew (例如 ~/.linuxbrew)。安装脚本完成后,同样会提示你添加必要的环境变量到你的 Shell 配置文件(如 ~/.profile, ~/.bashrc, 或 ~/.zshrc)。通常是类似下面的命令:

“`bash

假设安装在 ~/.linuxbrew

test -d ~/.linuxbrew && eval “$(~/.linuxbrew/bin/brew shellenv)”

假设安装在 /home/linuxbrew/.linuxbrew

test -d /home/linuxbrew/.linuxbrew && eval “$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)”

将配置永久添加到你的 shell 配置文件

对于 Bash:

echo ‘eval “$($(brew –prefix)/bin/brew shellenv)”‘ >> ~/.profile # 或者 ~/.bash_profile

对于 Zsh:

echo ‘eval “$($(brew –prefix)/bin/brew shellenv)”‘ >> ~/.zprofile # 或者 ~/.zshrc

让当前会话生效

eval “$($(brew –prefix)/bin/brew shellenv)”
``brew –prefix` 会自动输出 Homebrew 的安装路径。请务必遵循安装脚本结束时的确切指示。

4. 验证安装

bash
brew --version
brew doctor

六、 Homebrew 核心命令与基本使用

安装完成后,你就可以开始使用 Homebrew 来管理软件了。以下是一些最常用的命令:

  • 搜索软件: brew search <keyword>
    例如:brew search python 会列出所有包含 “python” 的 Formulae 和 Casks。
  • 安装命令行工具 (Formula): brew install <formula_name>
    例如:brew install wget 安装著名的下载工具 wget。
  • 安装图形界面应用 (Cask): brew install --cask <cask_name>
    例如:brew install --cask google-chrome 安装 Google Chrome 浏览器。
  • 更新 Homebrew 自身及软件包列表: brew update
    建议定期运行此命令,尤其是在安装或升级软件之前。
  • 升级已安装的软件:
    • brew upgrade:升级所有已安装的软件包。
    • brew upgrade <formula_name>:仅升级指定的软件包。
  • 列出已安装的软件: brew list
  • 卸载软件:
    • brew uninstall <formula_name>
    • brew uninstall --cask <cask_name>
  • 查看软件信息: brew info <formula_name_or_cask_name>
    显示软件的描述、版本、依赖、安装路径等信息。
  • 清理旧版本和缓存: brew cleanup
    移除已安装软件包的旧版本,释放磁盘空间。

七、 进阶技巧与配置

1. brew doctor

如前所述,这是诊断 Homebrew 环境问题的利器。当你遇到奇怪的问题时,首先运行它。

2. 切换或配置镜像源 (安装后)

如果你在安装时未使用镜像,或者想更换镜像源,可以手动修改 Git 仓库的 remote URL。

查看当前源:
“`bash
cd “$(brew –repo)” && git remote -v
cd “$(brew –repo homebrew/core)” && git remote -v

如果使用了 Cask

cd “$(brew –repo homebrew/cask)” && git remote -v
“`

切换到中科大镜像源示例:
“`bash

替换 brew.git 源

git -C “$(brew –repo)” remote set-url origin https://mirrors.ustc.edu.cn/brew.git

替换 homebrew-core.git 源

git -C “$(brew –repo homebrew/core)” remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

替换 Cask 源 (如果使用)

git -C “$(brew –repo homebrew/cask)” remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

配置 bottles 源 (二进制预编译包)

echo ‘export HOMEBREW_BOTTLE_DOMAIN=”https://mirrors.ustc.edu.cn/homebrew-bottles”‘ >> ~/.zprofile # 或 .zshrc/.bash_profile
source ~/.zprofile # 或 .zshrc/.bash_profile

更新以使更改生效

brew update
``
mirrors.ustc.edu.cn替换为其他镜像地址(如mirrors.tuna.tsinghua.edu.cn`)即可切换到相应镜像。

3. Homebrew Services

Homebrew 可以方便地管理后台服务,如数据库 (MySQL, PostgreSQL)、Web 服务器 (Nginx, Apache) 等。
* 启动服务:brew services start <service_name> (并在登录时自动启动)
* 停止服务:brew services stop <service_name>
* 重启服务:brew services restart <service_name>
* 查看服务列表及状态:brew services list

4. Taps

Homebrew 的核心仓库是 homebrew/corehomebrew/cask。但还有许多第三方仓库(称为 Taps)提供了额外的软件。
* 添加 Tap:brew tap <user/repo> (例如 brew tap AdoptOpenJDK/openjdk)
* 移除 Tap:brew untap <user/repo>
* 列出已添加的 Taps:brew tap

八、 常见问题与故障排除

  1. 网络问题 (下载缓慢/失败):

    • 首选方案: 配置并使用国内镜像源(参考第七节)。
    • 检查你的网络连接。
    • 尝试使用 VPN 或代理(如果需要配置 curl 使用代理,可以设置 http_proxyhttps_proxy 环境变量)。
    • 在运行 brew 命令时临时禁用自动更新:HOMEBREW_NO_AUTO_UPDATE=1 brew install xxx
  2. 权限问题 (Permission Denied / EACCES):

    • Intel Mac 常见问题: /usr/local/ 目录及其子目录的所有权不正确。通常需要将所有权赋予当前用户:
      bash
      sudo chown -R $(whoami) /usr/local/*

      或者根据 brew doctor 的具体提示进行修复。
    • Apple Silicon Mac: 确保 /opt/homebrew/ 目录及其子目录归当前用户所有(通常安装脚本会处理好)。如果遇到问题,检查权限:ls -ld /opt/homebrew。修复命令类似:
      bash
      sudo chown -R $(whoami) /opt/homebrew/*
    • 谨慎操作: 修改权限要小心,确保理解命令的作用。
  3. brew doctor 报告警告或错误:

    • 仔细阅读 brew doctor 的输出,它通常会给出修复建议和具体的命令。按照指示操作。
    • 常见问题包括:Xcode CLT 版本过旧、存在未链接的 (unlinked) Formulae、配置文件问题等。
  4. 命令找不到 (command not found: brew):

    • 最常见的原因是环境变量 PATH 未正确配置。请回顾第四节第 5 步,确保按照你的 Mac 类型(Intel 或 Apple Silicon)和 Shell 类型(Zsh 或 Bash)正确执行了 eval "$(... brew shellenv)" 并将其添加到了相应的配置文件 (~/.zprofile, ~/.zshrc, ~/.bash_profile 等)。
    • 修改配置文件后,需要重启终端或运行 source <配置文件路径> (例如 source ~/.zprofile) 来使更改生效。
    • 确认 Homebrew 的 bin 目录(/opt/homebrew/bin/usr/local/bin)确实存在于 echo $PATH 的输出中。
  5. 安装或更新时冲突:

    • 有时,包与包之间或包与系统自带工具之间可能存在冲突。brew doctor 可能会检测到这些问题。
    • 尝试强制链接:brew link --overwrite <formula_name> (请谨慎使用)。
    • 阅读错误信息,可能需要卸载冲突的包或手动解决。

九、 卸载 Homebrew

如果你决定不再使用 Homebrew,可以运行官方提供的卸载脚本:

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

脚本会询问你是否确定卸载,并列出将要删除的文件和目录。确认后,它会清理 Homebrew 的安装文件、配置和已安装的软件包。

注意: 卸载后,你可能还需要手动编辑你的 Shell 配置文件(~/.zprofile, ~/.zshrc, ~/.bash_profile 等),删除之前添加的与 Homebrew 相关的 evalexport PATH 行。

十、 总结

Homebrew 无疑是 macOS 和 Linux 用户管理开源软件的瑞士军刀。它极大地简化了软件的获取、安装、更新和卸载过程,让开发者和技术爱好者能够更专注于核心工作,而不是陷于繁琐的环境配置。

虽然安装过程偶尔会因网络或环境问题遇到一些小波折,但只要按照本文提供的步骤,特别是注意 Xcode Command Line Tools 的安装、根据网络情况选择是否使用镜像源、以及正确配置 Apple Silicon Mac 的环境变量,绝大多数用户都能顺利完成安装。

掌握了 Homebrew 的安装和基本使用,你就打开了一扇通往广阔开源世界的大门。成千上万的工具、库和应用触手可及,只需一条 brew install 命令。希望这篇详尽的指南能帮助你彻底搞定 Homebrew 的安装,让它成为你高效工作学习的得力助手。现在,开始你的 Homebrew 之旅吧!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部