
1. 为什么Mac用户绕不开Homebrew如果你刚拿到一台崭新的Mac或者准备用它来搞点开发、折腾点新工具那么你很快就会听到一个名字Homebrew。它被无数Mac开发者称为“macOS上缺失的包管理器”。简单来说它就像是一个超级应用商店但专门为程序员和高级用户服务。你可以通过一行简单的命令安装成千上万的命令行工具、开发库和桌面应用比如Python、Node.js、Git、甚至像Visual Studio Code这样的图形软件。为什么说它几乎是“绕不开”的呢因为macOS自带的命令行环境虽然强大但软件包管理非常原始。系统自带的/usr/bin目录下的工具版本往往比较老旧而且直接修改系统目录存在风险。过去很多人会手动下载源码编译或者去找.dmg或.pkg安装包过程繁琐依赖关系复杂升级和卸载更是麻烦。Homebrew的出现彻底改变了这个局面。它在一个独立的目录通常是/opt/homebrew或/usr/local下管理所有软件与系统文件完全隔离安全又方便。你不再需要关心“这个软件依赖哪个库”Homebrew会自动帮你搞定。对于“小白”用户安装Homebrew可能是你踏入Mac高效使用世界的第一步。这个过程本身并不复杂但网上教程鱼龙混杂有些已经过时有些忽略了权限和路径这些关键细节导致新手容易踩坑。这篇文章的目的就是从一个真实用户的角度手把手带你完成从零到一的安装并解释清楚每一步背后的“为什么”让你不仅装得上更能理解它用得好。2. 安装前的核心准备理解架构与权限在敲下任何安装命令之前有两件事必须搞清楚这能避免90%的后续问题。很多教程直接让你复制粘贴命令却不解释原因结果一出错就让人束手无策。2.1 确认你的Mac芯片是Intel还是Apple Silicon这是最重要的一步决定了Homebrew的安装路径和后续所有软件的兼容性。如何查看点击屏幕左上角的苹果菜单 - “关于本机”。在“芯片”或“处理器”一栏你会看到“Apple M1”、“Apple M2”等即Apple Silicon或者“Intel Core i5/i7/i9”等即Intel。为什么重要对于Apple Silicon (M1/M2/M3等) MacHomebrew默认安装到/opt/homebrew目录。这个路径是为ARM架构原生优化的。对于Intel MacHomebrew默认安装到/usr/local目录。路径差异的影响安装路径不同意味着你之后通过brew安装的所有命令行工具其可执行文件所在的位置也不同。因此你的Shell配置文件如~/.zshrc或~/.bash_profile中需要正确配置PATH环境变量让系统知道去哪个目录找这些命令。如果配置错误就会出现“command not found”的错误。2.2 准备好必要的命令行工具Command Line ToolsHomebrew的安装脚本本身是Ruby写的它需要一些基础的编译工具比如git,clang来运行和后续编译软件。macOS提供了一个名为“Command Line Tools for Xcode”的包它包含了这些工具而无需安装完整的、体积庞大的Xcode。如何安装打开“终端”应用可以在“应用程序 - 实用工具”里找到或用Spotlight搜索“终端”输入以下命令并回车xcode-select --install会发生什么系统会弹出一个软件更新对话框提示你安装“命令行开发者工具”。点击“安装”同意许可协议等待下载和安装完成。这个过程可能需要几分钟取决于你的网速。验证安装安装完成后可以在终端输入git --version和clang --version来验证是否安装成功。如果能显示版本号就说明准备好了。注意如果你之前安装过Xcode那么命令行工具可能已经存在。执行上述命令系统会提示“已经安装”。这是正常情况直接进行下一步即可。3. 官方一键安装过程全解析与网络问题应对万事俱备现在可以开始安装Homebrew了。官方推荐的一键安装命令非常简洁/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)我们来拆解一下这行命令理解它在做什么这样遇到问题你才知道从哪里入手curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.shcurl一个用来传输数据的命令行工具。-f静默失败服务器错误时不显示HTML错误页面。-s静默模式不显示进度或错误信息。-S与-s配合出错时会显示错误信息。-L如果请求的页面发生了跳转curl会自动跟随跳转。整个部分的作用是安静地、可靠地从GitHub下载最新的Homebrew安装脚本。脚本的地址固定在Homebrew官方GitHub仓库的install目录下的HEAD指针确保你拿到的是最新版本。/bin/bash -c “$(...)”将第一步curl下载到的脚本内容作为一个字符串传递给/bin/bashmacOS的默认Shell去执行。-c选项告诉bash“后面引号里的字符串是一条命令请执行它”。执行过程与交互当你把上面那行长命令粘贴到终端并回车后脚本会开始运行。它会显示它将要在你的系统上做什么创建目录、设置权限等。提示你按回车键继续。可能会要求你输入当前登录用户的密码即你开机解锁的密码。输入时密码不会显示这是Unix系统的正常安全行为输完直接回车即可。然后脚本会自动进行下载和安装。最大的拦路虎网络问题。由于安装脚本和Homebrew的核心仓库homebrew-core都托管在GitHub上国内用户可能会遇到下载速度极慢甚至连接超时的情况。如果你在下载过程中卡住很久或者出现类似Failed to connect to raw.githubusercontent.com的错误不要慌这不是你的问题。解决方案使用国内镜像源加速。这是最有效、最稳定的方法。我们不必手动修改复杂的配置在安装命令执行前通过设置环境变量来切换源。打开终端依次执行以下三行命令export HOMEBREW_BREW_GIT_REMOTEhttps://mirrors.ustc.edu.cn/brew.git export HOMEBREW_CORE_GIT_REMOTEhttps://mirrors.ustc.edu.cn/homebrew-core.git export HOMEBREW_BOTTLE_DOMAINhttps://mirrors.ustc.edu.cn/homebrew-bottles这三行命令的作用是临时改变了接下来要执行的安装脚本所使用的仓库地址将其从GitHub换成了中国科学技术大学USTC的开源软件镜像站。执行完这三行后不要关闭当前终端窗口紧接着就在同一个终端窗口里运行之前的那条官方一键安装命令。这样整个下载和安装过程就会通过国内镜像进行速度会有质的飞跃。实操心得网络问题是最常见的坑。我个人的习惯是在任何需要从GitHub安装或克隆东西之前都先下意识地检查网络并准备好镜像源方案。对于Homebrew上述USTC镜像非常可靠。如果某个镜像偶尔同步延迟也可以尝试清华大学Tuna的镜像只需将上面命令中的mirrors.ustc.edu.cn替换为mirrors.tuna.tsinghua.edu.cn即可。4. 安装后的关键一步配置Shell环境变量安装脚本成功运行完毕后你可能会看到这样的提示 Next steps: - Run these two commands in your terminal to add Homebrew to your PATH: echo eval $(/opt/homebrew/bin/brew shellenv) ~/.zshrc eval $(/opt/homebrew/bin/brew shellenv) - Run brew help to get started - Further documentation: https://docs.brew.sh请务必仔细阅读并执行它要求的“Next steps”很多新手安装完发现输入brew命令无效问题就出在这里。为什么要配置PATHPATH是一个环境变量它告诉系统当你在终端输入一个命令比如brew、python、git时应该去哪些目录里寻找这个命令对应的可执行文件。Homebrew把它自己的核心命令brew安装在了/opt/homebrew/binApple Silicon或/usr/local/binIntel下。如果这个目录不在你的PATH变量中系统就找不到brew命令。如何正确配置根据你的Mac芯片和使用的Shell现代macOS默认是zsh执行提示中的命令。对于Apple Silicon Mac将Homebrew的路径添加到zsh的配置文件中echo eval $(/opt/homebrew/bin/brew shellenv) ~/.zshrc这行命令的作用是将eval $(/opt/homebrew/bin/brew shellenv)这行文本追加到你的用户目录下的.zshrc文件末尾。brew shellenv命令会输出一系列设置环境变量包括PATH的语句eval命令则执行这些输出从而完成设置。立即让当前终端会话生效eval $(/opt/homebrew/bin/brew shellenv)对于Intel Mac 命令中的路径会变为/usr/local/bin/brew原理完全相同。echo eval $(/usr/local/bin/brew shellenv) ~/.zshrc eval $(/usr/local/bin/brew shellenv)验证安装完成上述步骤后关闭终端再重新打开一个新的终端窗口这是为了确保新的配置文件被加载然后输入brew --version如果正确显示了Homebrew的版本号例如Homebrew 4.2.0那么恭喜你Homebrew已经成功安装并配置好了5. 基础使用像高手一样管理你的软件包安装只是开始会用才是关键。Homebrew的语法非常直观遵循brew [命令] [选项] [软件名]的模式。5.1 搜索软件在安装之前最好先搜索一下确认软件在仓库里的名称有时同一个软件可能有多个版本或变体。brew search 关键词例如brew search python会列出所有与python相关的包如python3.11,python3.12等。5.2 安装软件找到确切的包名后使用install命令安装。这是最常用的命令。brew install 软件名例如安装最新稳定版的Python和Gitbrew install python gitHomebrew会自动处理依赖。安装Python时它可能会同时安装openssl、sqlite等依赖库。5.3 查看已安装的软件brew list这会列出所有通过Homebrew安装的“公式”Formulae即命令行工具和库。如果你想看通过Homebrew安装的图形应用Casks可以加一个--cask选项brew list --cask。5.4 更新Homebrew自身和软件包保持最新是保证兼容性和安全性的好习惯。更新Homebrew自身获取最新的软件包列表和程序。brew update更新所有已安装的软件brew upgrade更新特定软件brew upgrade 软件名5.5 卸载软件如果你不再需要某个软件可以干净地卸载它。brew uninstall 软件名Homebrew会尝试卸载该软件及其未被其他软件依赖的依赖项。5.6 诊断问题如果遇到任何奇怪的问题比如安装失败、链接错误Homebrew内置了一个强大的诊断工具brew doctor这个命令会检查你的Homebrew环境是否存在常见问题并给出修复建议。在寻求他人帮助前先运行一下brew doctor它很可能直接告诉你解决方案。6. 进阶技巧与深度避坑指南掌握了基础命令你已经能应对90%的需求。下面这些进阶知识和坑点能让你用得更顺手。6.1 Cask安装图形界面应用程序Homebrew不仅能装命令行工具还能装像Chrome、Visual Studio Code、Spotify这样的桌面应用这需要通过“Cask”来实现。brew install --cask 应用名例如安装Visual Studio Codebrew install --cask visual-studio-code应用会被安装到标准的/Applications目录就像你手动拖进去一样但管理起来更新、卸载却可以通过brew统一进行。6.2 服务管理让后台服务随系统启动Homebrew安装的一些软件如数据库MySQL/PostgreSQL、服务器Nginx是作为“服务”运行的。brew提供了便捷的服务管理命令。启动一个服务如MySQLbrew services start mysql停止一个服务brew services stop mysql重启一个服务brew services restart mysql查看所有服务状态brew services list这比手动写启动脚本或配置launchd要简单直观得多。6.3 常见坑点与解决方案权限错误Permission denied场景在安装或运行某些命令时遇到Error: Permission denied ...。原因Homebrew的安装目录/opt/homebrew或/usr/local及其子目录的所有权ownership不正确。这可能发生在多用户环境或者之前用sudo运行过brew命令。解决永远不要使用sudo brewHomebrew设计为在用户权限下运行。如果出现权限问题使用以下命令修复以Apple Silicon为例sudo chown -R $(whoami) /opt/homebrew对于Intel Mac将路径改为/usr/local。这条命令将目录的所有权递归地改回当前用户。安装慢或卡在Updating Homebrew场景每次执行brew install前它都会自动尝试更新自身brew update国内网络下这一步可能很慢。解决可以关闭自动更新在需要时手动更新。echo export HOMEBREW_NO_AUTO_UPDATE1 ~/.zshrc source ~/.zshrc以后需要更新时再手动运行brew update。软件链接Link冲突场景安装时提示Error: Could not symlink ... /usr/local/bin is not writable.或某些文件已存在。原因系统或其他安装方式已经安装了同名命令且位于更高优先级的路径中。解决首先确保Homebrew的bin目录已在PATH中且优先级较高按照我们之前的配置通常没问题。如果冲突文件确实是其他软件需要的可以考虑使用brew link --overwrite 软件名强制链接谨慎使用会覆盖原有文件。或者通过brew info 软件名查看安装路径直接使用完整路径来运行该命令。安装特定版本软件需求某些项目需要特定版本的软件如Python 3.11而不是最新的3.12。方法Homebrew鼓励使用最新版本但旧版本通常以“版本化公式”的形式存在名称后带符号。brew install python3.11安装后该版本的可执行文件可能叫python3.11而不是python3。你需要手动将其链接到PATH中或者使用brew link命令如果未与其他版本冲突。7. 维护与清理让系统保持清爽长期使用Homebrew会下载很多缓存文件源码包、编译中间文件和旧版本的软件包。定期清理可以释放磁盘空间。查看哪些可以清理brew cleanup -n-n是dry-run模拟运行会列出将要被清理的文件但不会真的删除。执行清理删除所有旧版本和缓存brew cleanup更激进的清理包括下载的缓存brew cleanup -s诊断磁盘空间占用brew leaves # 列出没有被其他包依赖的顶级包 brew autoremove # 移除那些被安装为依赖但现在已不被任何顶级包需要的包我个人习惯每月运行一次brew update brew upgrade brew cleanup这是一个保持软件最新且系统整洁的好习惯。