ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

2026 Mac开发环境配置:Homebrew安装换源与Git配置全攻略

2026 Mac开发环境配置:Homebrew安装换源与Git配置全攻略 2026 年再拿 Mac 当主力开发机其实比前几年省心不少Apple Silicon 稳定了默认终端就是 zshHomebrew 对 M 系列芯片也支持得很成熟。但这不意味着你开箱就能顺利把 Homebrew 和 Git 配好。我前几天刚帮朋友从零配完一台新 Mac光 Homebrew 安装就卡了三次后面换源、Git 配置又折腾了小半天。这篇就把我实际跑通的完整流程写下来包含每一步的原因、命令、以及装上之后最容易踩的坑给同样在配环境的你当参考。1. 2026 年给 Mac 配开发环境为什么绕不开 Homebrew1.1 Homebrew 相当于 macOS 的“软件管家”用过 Ubuntu 的朋友一定熟悉 apt用过 CentOS 的知道 yum而 macOS 官方并没有一个统一管理命令行的包管理器。Homebrew 就是社区里事实标准的那一个。它解决的核心问题是你想装wget、jq、python3.12、nginx这类工具时不需要去官网一个个下载 dmg、pkg也不需要手动配 PATH、管理依赖关系一条brew install就能搞定。更重要的是它会把软件装到自己的目录里卸载的时候基本不残留文件这对喜欢折腾环境的人来说非常友好。所以我的建议是新 Mac 配环境的第一件事就是把 Homebrew 装好。因为后续安装 Git、Node.js、Python、MySQL 等工具时你会发现 90% 的情况都会回到brew install这条命令上来。地基打稳了后面才顺。1.2 Apple Silicon 和 Intel Mac 的安装路径不一样先确认再说这是新手最容易忽略的点。2026 年主流自然是 Apple SiliconM 系列芯片但很多老款 Intel Mac 还在服役。Homebrew 在两个平台上的安装路径不同芯片类型Homebrew 默认安装路径验证命令Apple Silicon/opt/homebrewuname -m输出arm64Intel/usr/localuname -m输出x86_64后面所有涉及路径的地方都要先按自己的芯片类型替换别直接复制粘贴。最简单的方式是在终端里先跑一下uname -m确认是arm64还是x86_64再决定用哪套配置。1.3 2026 年的新机初始化流程大致是这样如果只考虑命令行开发环境我会把整个流程分成四段安装命令行工具 → 安装 Homebrew → 换源 → 配置 Git。每一步都有明确的验证方式所以不会出现“好像装了但又不知道成没成功”的焦虑。下面我会按实际操作的顺序一段一段讲。2. 装 Homebrew 前先把这三件事准备好2.1 安装 Command Line ToolsHomebrew 的编译依赖Homebrew 装很多软件时都需要调用系统的编译器工具链。macOS 上这套工具统称 Command Line ToolsCLT包括clang、make、git等。虽然 Homebrew 安装脚本会在中途提示你装但提前装好能避免不少麻烦。打开终端执行xcode-select --install然后会弹出一个图形界面确认安装即可。这个过程可能要等几分钟。如果系统提示“already installed”说明你已经装过。验证方法xcode-select -p如果输出了类似/Library/Developer/CommandLineTools的路径说明没问题。2.2 确认你的默认 shell 是 zsh以及配置文件该写到哪里从 macOS Catalina 开始系统的默认 shell 就是 zsh。你不需要改什么但要明白一个区别~/.zshrc和~/.zprofile都会被加载但时机不同。简单理解~/.zprofile是在登录 shell 时加载适合放环境变量和初始化命令~/.zshrc是每次打开新的交互式终端时加载适合放别名、函数这类需要实时生效的设置。Homebrew 官方建议把brew shellenv这行写到~/.zprofile因为它本质上是环境变量不需要每次切换目录都重新加载。后面换源的环境变量我也会统一放到~/.zprofile里。2.3 关于网络环境为什么官方安装脚本有时会卡住很多人卡在 Homebrew 安装问题往往不在电脑而是官方源在国内的访问不稳定。Homebrew 本体仓库、Formula 索引、以及预编译好的二进制包都在 GitHub 上大陆地区访问这些地址经常出现超时或速度极慢。针对这种情况现在的标准做法并不是找一个“万能破解安装包”而是把 Homebrew 的仓库地址和下载地址替换成国内的镜像源。这个操作本身不复杂关键在于你要知道换源换的到底是哪几个地址后面会有专门一节讲清楚。这里只是给你打个预防针如果安装脚本在下载阶段卡了很久不要慌先 CtrlC 取消再用镜像仓库重新跑。2.4 给 shell 配置文件留个备份这一步很多教程不提但我每次配环境前都会做。因为安装脚本或你手滑有可能会改坏~/.zshrc或~/.zprofile。备份成本极低恢复成本极高cp ~/.zprofile ~/.zprofile.bak 2/dev/null; cp ~/.zshrc ~/.zshrc.bak 2/dev/null如果文件不存在命令会报个错但也不影响。后续配置出问题直接mv回来就行。3. 保姆级安装从官方脚本到镜像兜底一次跑通3.1 理想情况官方脚本一把过如果你访问 GitHub 比较顺畅直接在终端粘贴这条命令/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)脚本会先检查系统环境然后开始下载 Homebrew。中间会提示你输入密码这是为了创建/opt/homebrew目录并设置权限属于正常现象。整个安装过程大概几分钟到十几分钟取决于网络速度。装完后Apple Silicon 的机器需要执行echo eval $(/opt/homebrew/bin/brew shellenv) ~/.zprofile eval $(/opt/homebrew/bin/brew shellenv)Intel Mac 则把路径换成/usr/local/bin/brew。这一步的目的是让终端能直接找到brew命令。不执行的话你会在输入brew时收到command not found。3.2 现实情况安装脚本卡在下载阶段怎么办我自己遇到的情况大多是卡在Downloading Command Line Tools或者Cloning into /opt/homebrew这两步。前者说明系统工具链没装齐回到上面先装 CLT后者说明仓库下载不顺利可以 CtrlC 中断然后这样跑export HOMEBREW_BREW_GIT_REMOTEhttps://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git export HOMEBREW_CORE_GIT_REMOTEhttps://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git export HOMEBREW_API_DOMAINhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api export HOMEBREW_BOTTLE_DOMAINhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)这里的关键是官方安装脚本支持通过环境变量覆盖仓库地址我们只是把远程仓库指到了清华镜像。脚本本身还是官方的不会执行第三方代码安全性有保障。执行完成后记得把这三四个export写进~/.zprofile否则下次新终端打开后它们就失效了Homebrew 还会默认回源。如果连raw.githubusercontent.com这个脚本地址都访问不了可以先把脚本下载到本地再跑curl -fsSL -o /tmp/install.sh https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh然后用sh /tmp/install.sh执行本地文件。实在不行还有一种手动方式直接从镜像站 clone Homebrew 本体仓库到目标目录。Apple Silicon 执行git clone https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git /opt/homebrew这种方式不执行官方安装脚本所以不会帮你自动设置 PATH需要自己手动加。如果你对命令行已经比较熟悉可以用它兜底新手我不建议因为后面补环境变量容易漏。3.3 安装完成后的验证不只看版本号执行完安装流程别急着开心先验证三件事brew --version brew config brew doctorbrew --version看版本brew config能看当前生效的源配置brew doctor会检查环境是否健康。如果你看到一堆“Warning”也不用慌多数是目录权限或旧版本残留的提示按提示处理即可。举个例子如果提示/opt/homebrew权限不对可以用sudo chown -R $(whoami) /opt/homebrew修正。3.4 安装过程中的其他坑镜像源变量设置后如果安装脚本继续走 GitHub检查是否在当前终端生效。export只对当前终端进程有效开了新窗口就没了。安装过程中断掉再重跑通常没问题但个别时候会残留半成品。实在起不来就删掉/opt/homebrew重新来sudo rm -rf /opt/homebrew然后重新执行安装脚本。不要把brew装到需要sudo才能操作的目录也不要为了省事直接用 root 用户跑安装脚本。Homebrew 的权限模型就是当前用户管理自己的目录强行用 root 反而会留下一堆权限问题。4. 换源这件事本质上是换四个地址4.1 先搞懂 Homebrew 的存储结构换源才不会瞎换很多人看到网上教程说“换源”就只知道复制几条命令。我建议你花两分钟理解 Homebrew 几个目录和变量的区别后面遇到问题才能自己排查。名称作用默认地址brew 本体仓库Homebrew 程序代码本身位于$(brew --repo)GitHub Homebrew/brewhomebrew-core旧版本的 Formula 索引新版默认走 APIGitHub Homebrew/homebrew-corehomebrew-cask图形化软件的下载清单GitHub Homebrew/homebrew-caskBottles预编译好的二进制包安装时直接下载ghcr.ioAPI新版 Homebrew 获取 Formula 索引的接口ghcr.io 或 GitHub2024 年之后Homebrew 官方已经默认不再把 homebrew-core 仓库完整 clone 到本地而是通过 JSON API 获取索引。所以很多早期教程里让你cd $(brew --repo homebrew/core)然后换源的操作在新版本里已经不是必须的。你真正需要关心的是本体仓库、API 域名、Bottle 域名这三个地方。4.2 把 Homebrew 本体仓库切到国内镜像本体仓库的切换方式很直接改 git remote 地址cd $(brew --repo) git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git如果你更习惯中科大源把地址换成git remote set-url origin https://mirrors.ustc.edu.cn/brew.git两个源我都用过稳定性上没感觉出明显差异。清华源的更新频率和维护水平都很好可以作为首选项。4.3 配置 API 域和 Bottle 域这才是下载提速的关键如果你只是为了“能装上 Homebrew”那换不换 API 和 Bottle 无所谓。但只要之后你brew install任何软件速度差异会非常明显。因为真正的大体积下载发生在软件二进制包Bottle阶段。在~/.zprofile里加上这几行export HOMEBREW_API_DOMAINhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api export HOMEBREW_BOTTLE_DOMAINhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles保存后执行source ~/.zprofile然后验证brew config | grep -E HOMEBREW_(API|BOTTLE)_DOMAIN看到输出的是清华域名就算配置成功。之后安装软件比如brew install wget下载速度通常能到几 MB/s 甚至更高。中科大的对应地址是https://mirrors.ustc.edu.cn/homebrew-bottles和https://mirrors.ustc.edu.cn/homebrew-bottles/api用法完全一样。4.4 为什么我不推荐第三方“一键安装脚本”国内网上流传很广的 Homebrew 安装脚本确实能做到一键安装一键换源看起来省事。但我个人强烈不推荐在重要机器上用。原因是这类脚本属于第三方维护你无法在短时间内审查它到底执行了什么代码包括会不会写入额外配置、会不会加载计划任务、会不会修改 shell 启动文件。配开发环境这件事安全底线的优先级高于“少敲几条命令”。用官方脚本配上自己写的两个export本身就是十分钟的事没必要牺牲可控性。4.5 换源后的验证、回退与常见问题换完源执行一次完整的流程测试brew update --force --quiet brew install wget如果brew update报错多半是 git remote 没设置成功。可以手动看当前源cd $(brew --repo) git remote -v如果 URL 还是 GitHub 官方地址重新执行一遍git remote set-url即可。另外如果你之前手动 tap 过homebrew/cask可能也需要检查它的 remote但新装环境一般不用管。想回退到官方源也很简单。先改 git remote 回https://github.com/Homebrew/brew.git再删除~/.zprofile里写的两个HOMEBREW_*_DOMAINexport。这样就能恢复默认网络路径。恢复不了的话直接brew config看当前生效变量往往一眼就能发现问题。5. Git 环境配置装新版本改对五个全局配置5.1 为什么不直接用系统自带的 GitmacOS 即使只装了 Command Line Tools也会自带一个 Git版本通常够用但不会很新。2026 年这个时候很多仓库已经在用新特性而且新版 Git 在 macOS 上跑得更顺。所以我向来都是第一时间用 Homebrew 装新版brew install git装完后检查一下which git。正常情况下会输出/opt/homebrew/bin/git如果你看到/usr/bin/git说明 PATH 里 Homebrew 的 bin 目录优先级不够需要确认前面brew shellenv那步有没有正确执行。5.2 五个必须配置的全局选项及其原因Git 装好后我习惯立刻配置下面这五项git config --global user.name 你的昵称 git config --global user.email 你的邮箱 git config --global init.defaultBranch main git config --global core.editor code --wait git config --global credential.helper osxkeychain解释一下user.name和user.email会写进你的每一次 commit别人能看到所以尽量用真实名字和工作邮箱。如果用的是 GitHub 隐私邮箱就填 GitHub 提供的usernameusers.noreply.github.com。init.defaultBranch main让git init默认创建main分支避免生成master后又要手动改。core.editor code --wait让 Git 在需要你输入 commit message 时自动打开 VSCode保存并关闭窗口后继续执行。前提是你装了 VSCode 并且配置过code命令行工具。credential.helper osxkeychain让 Git 通过 macOS 钥匙串保存 HTTPS 密码一次认证后续免密推送。5.3 进一步优化别名、中文显示和换行符基础配置之外我还会加这几条尤其在中文环境下很实用git config --global core.quotepath false git config --global color.ui auto git config --global alias.lg log --oneline --graph --all --decorate -10 git config --global alias.st status git config --global alias.co checkout git config --global alias.br branchcore.quotepath false解决 Git 状态里中文文件名变成八进制乱码的问题。color.ui auto让命令输出带颜色阅读起来舒服很多。alias则是给常用命令设快捷键git lg一条命令就能看到清晰的提交历史图体验和裸用git log完全不同。5.4 配置完成的检查方式全局配置是否正确一条命令就能看全git config --global --list你会看到类似这样的输出user.name你的昵称 user.email你的邮箱 init.defaultbranchmain core.editorcode --wait credential.helperosxkeychain到这里Git 的基础环境已经可用了。6. SSH Key 配置与远程仓库连通性验收6.1 为什么选择 ed25519 密钥配置 Git 和 GitHub 这种远程仓库通信时有 HTTPS 和 SSH 两种协议。HTTPS 简单但频繁推送要反复认证SSH 配置好之后免密长期用更舒服。生成密钥时我推荐 ed25519ssh-keygen -t ed25519 -C 你的邮箱example.com -f ~/.ssh/id_ed25519-t ed25519指定密钥类型安全强度高、密钥短、生成快。GitHub 和 Gitee 都支持。如果遇到特别老的服务端不支持 ed25519才考虑传统的ssh-keygen -t rsa -b 4096。执行时会让你设置 passphrase。我建议设一个因为密钥文件本身就等于一把钥匙丢了后果很严重。不过设置了 passphrase 之后每次 SSH 连接都要手动输入所以需要配合后面的 ssh-agent 把它“记住”。6.2 配置 ssh-agent 和 UseKeychain告别每次输密码新版本 macOS 上建议这样把密钥加入钥匙串eval $(ssh-agent -s) ssh-add --apple-use-keychain ~/.ssh/id_ed25519如果你的系统提示不认识--apple-use-keychain就改成ssh-add -K ~/.ssh/id_ed25519然后创建或编辑~/.ssh/config写入Host github.com AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519UseKeychain yes表示把 passphrase 存到 macOS 钥匙串退出终端再打开也不会反复问你。AddKeysToAgent yes表示连接时自动把密钥加到 agent。这一套配置完基本可以实现“配一次用半年”。6.3 添加公钥到 GitHub并测试连通性查看公钥内容cat ~/.ssh/id_ed25519.pubmacOS 上也可以直接复制到剪贴板pbcopy ~/.ssh/id_ed25519.pub然后登录 GitHub进入 Settings → SSH and GPG keys → New SSH key粘贴保存。Gitee 的操作类似在个人设置里也有 SSH 公钥管理。测试命令ssh -T gitgithub.com如果看到Hi yourname! Youve successfully authenticated, but GitHub does not provide shell access.说明 SSH 链路完全打通。Gitee 的测试命令是ssh -T gitgitee.com同样会输出一行欢迎信息。这样之后你可以直接git clone gitgithub.com:yourname/your-repo.git完成免密克隆。6.4 常见的 SSH 报错排查顺序我列几个实际遇到过的报错按照出现频率排报错现象原因处理方式Permission denied (publickey)公钥没加到平台或 SSH 没走对私钥检查 GitHub 后台公钥检查~/.ssh/config的IdentityFileHost key verification failed本机 known_hosts 里没有目标主机记录或记录冲突执行ssh-keygen -R github.com后重连gitgithub.com: Permission denied用了 HTTPS 地址却配了 SSH 密钥改用gitgithub.com:...地址连接超时网络访问 GitHub 不稳定保持 SSH 协议但可以先检查~/.ssh/config是否配置了代理等额外参数实际上我见过最多的既不是网络问题也不是密钥问题而是用户把公钥和私钥的概念搞反了。复制粘贴到 GitHub 的必须是.pub结尾的公钥私钥只能留在本机。7. 配置完成后的验收清单以及日常维护该做哪些事7.1 一条命令检查所有核心配置是否到位环境配置完最后我会做一次快速体检brew --version git --version which git这三条命令的输出可以确认 Homebrew、Git 本体、以及git命令路径是否都正确。接着git config --global --list ssh -T gitgithub.com到这里Homebrew 和 Git 的配置就已经全部验证完毕。之后你可以放心地进入其他开发环境的搭建比如装 Node.js、Python、数据库等一路都会顺畅很多。7.2 建议立刻做的三个仓库演示操作为了确认 Git 工作流没问题我习惯空跑一遍最基础的流程。随便找个目录执行mkdir ~/demo cd ~/demo git init echo hello README.md git add . git commit -m chore: init demo能正常 commit说明用户信息、默认分支、编辑器配置都没问题。再配合远程仓库git remote add origin gitgithub.com:...和git push -u origin main就能验证 SSH 推送链路。7.3 Homebrew 的日常维护节奏Homebrew 和 Git 配好后不是就一劳永逸了。我自己的维护节奏是brew update brew upgrade brew cleanup --pruneall brew autoremovebrew update更新索引brew upgrade升级所有可更新的软件brew cleanup清理旧版本残留的压缩包brew autoremove删除不再被依赖的旧包。这四条命令不用每天跑一两周一次足够了。如果你发现brew install时更新很慢可以用HOMEBREW_NO_AUTO_UPDATE1环境变量跳过自动更新但代价是你需要记得手动brew update否则可能装到较旧版本。7.4 关于“换源”这个动作的个人体会写到最后想聊聊心态问题。很多人对“换源”有顾虑觉得是不是绕过了什么官方机制会不会不安全。我实际用了这几年下来的体会是换源本身是镜像站提供的标准服务清华、中科大这类知名高校镜像站运维规范、同步频率高只要你用的是官方安装脚本只是把仓库地址和下载地址从 GitHub 换成镜像并没有改变软件本身的来源。真正需要警惕的反而是那些把“一键安装”和“换源”捆绑在一起的第三方脚本代码不可审计风险不可控。另外提醒一句环境配置这件事最好一台新机只认真做一次然后把用到的命令整理成自己的初始化笔记。下次再换电脑或者重装系统照着笔记跑一遍十分钟就能回到熟悉的开发状态比每次去网上翻教程、到处踩坑强得多。
返回列表