M2芯片Mac安装Homebrew最简指南:国内镜像源一键配置
1. 为什么M2芯片的Mac安装Homebrew需要“特殊”方法如果你刚拿到一台搭载M2芯片的MacBook兴冲冲地打开终端准备用一行命令搞定Homebrew这个“macOS缺失的包管理器”结果大概率会卡在第一步。屏幕上可能弹出一个错误提示你“无法连接到raw.githubusercontent.com”或者下载脚本直接失败进度条一动不动。这跟你是不是新手没关系纯粹是网络环境在“作祟”。Homebrew的官方安装命令那句经典的/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)其核心是从GitHub的Raw文件服务器拉取安装脚本。对于国内用户来说这个服务器地址的访问速度和稳定性很多时候就像开盲盒。尤其是在M1/M2芯片的Mac普及后大量新用户涌入这个问题就更加凸显。这不仅仅是“慢”的问题而是直接导致安装流程中断让很多人的开发环境配置第一步就吃了闭门羹。所以所谓“最简单的方法”其本质并不是步骤上的简化步骤本身一直很简单而是绕开网络障碍找到一个稳定、高速的安装路径。这个方法的核心在于使用国内镜像源。国内有几所高校和机构维护着Homebrew的镜像将Homebrew本体Core Tap、第三方软件库Cask Tap以及二进制预编译包Bottles同步到国内服务器。通过配置这些镜像安装和后续的软件下载速度会得到质的提升从看运气变成可预期的快速完成。对于M2芯片Apple Silicon的Mac还有一个额外的细节需要注意架构兼容性。Homebrew会默认安装到/opt/homebrew目录下而不是Intel Mac时代的/usr/local。这是为了更好地区分ARM64原生软件和通过Rosetta 2转译的x86_64软件。我们的“最简单方法”也会妥善处理这个路径问题确保你的环境变量配置正确让终端在任何位置都能识别到brew命令。2. 安装前的准备工作不仅仅是打开终端在开始敲命令之前花几分钟做好准备工作能避免99%的后续麻烦。这就像木工干活前要磨好刨刀一样基础打好了后面就顺了。2.1 确保命令行工具Command Line Tools就位Homebrew的编译和安装依赖Xcode的命令行工具。即使你不打算开发iOS或macOS应用这个工具包也是必须的。检查它是否安装的最快方法是打开终端Terminal输入以下命令xcode-select -p如果返回一个类似/Library/Developer/CommandLineTools的路径说明已经安装。如果返回xcode-select: error: command line tools are not installed...的提示则需要安装。安装方法同样简单在终端输入xcode-select --install这时会弹出一个软件更新对话框提示你安装“Xcode命令行工具”大小大约1-2GB点击“安装”并同意许可协议即可。这个过程需要联网下载。如果网络不畅导致安装失败你可以去苹果开发者官网手动搜索下载对应macOS版本的Command Line Tools安装包但这通常比直接执行上述命令更麻烦。2.2 评估你的Shell环境zsh还是bash从macOS Catalina开始系统的默认Shell已经从bash切换到了zsh。你可以在终端输入echo $SHELL来确认。输出/bin/zsh即为zsh输出/bin/bash则为bash。目前绝大多数用户都是zsh。这一点之所以重要是因为Homebrew安装完成后需要将它的可执行文件路径添加到系统的PATH环境变量中。而这个配置是写在Shell的配置文件里的对于zsh是~/.zshrc文件对于bash是~/.bash_profile或~/.bashrc文件。我们的方法会引导你修改正确的文件。如果你不确定就默认按zsh来处理这是当前macOS的标配。2.3 处理可能存在的旧版Homebrew如果你之前尝试安装失败或者这台电脑是二手接手过来的可能存在一些残留。在尝试新安装前最好先清理一下。在终端中运行which brew如果这个命令返回了一个路径比如/usr/local/bin/brew或别的说明系统里存在一个brew命令。你可以尝试运行brew --version看看它是否有效。如果无效或者你决意要重新安装可以先尝试官方的卸载脚本/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)同样这个卸载命令也可能因为网络问题失败。如果失败或者你想更彻底地手动清理可以按照以下步骤操作请谨慎并确认你了解自己在做什么删除Homebrew的安装目录sudo rm -rf /opt/homebrew针对Apple Silicon或sudo rm -rf /usr/local/Homebrew针对Intel。删除Homebrew相关的二进制文件sudo rm -rf /usr/local/bin/brew如果存在。清理可能存在的缓存rm -rf ~/Library/Caches/Homebrew。最后从你的Shell配置文件如~/.zshrc中删除所有包含HOMEBREW或brew路径的export行。完成清理后最好重启一下终端或者运行source ~/.zshrc来确保环境干净。3. 核心步骤使用国内镜像源一键安装准备工作就绪后我们就可以开始真正的安装了。这里推荐使用清华大学开源软件镜像站提供的安装脚本它自动化了镜像配置的过程是目前最稳定、最省心的方案。3.1 获取并运行镜像安装脚本完全不需要记忆复杂的命令只需在终端中执行下面这一条/bin/zsh -c $(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)我们来拆解一下这条命令/bin/zsh -c指定使用zsh shell来执行后面的脚本字符串。这能确保脚本在正确的Shell环境下运行避免因默认Shell不同导致的问题。curl -fsSLcurl是命令行下载工具。-f参数表示在服务器错误时静默失败-s表示静默模式不显示进度条-S表示如果失败则显示错误-L表示跟随重定向。合起来就是“安静地、完整地下载这个文件出错就告诉我”。https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh这是脚本的国内地址托管于码云Gitee访问速度极快。执行后脚本会首先提示你选择下载源。通常会列出几个国内镜像例如1. 中科大下载源 2. 清华大学下载源 3. 腾讯下载源 4. 阿里巴巴下载源你可以根据地理位置和网络情况选择一个比如输入2并回车选择清华大学源。选择后脚本就会开始全自动安装。3.2 安装过程详解与交互提示脚本运行后你基本上只需要根据提示操作即可但了解背后发生了什么会让你更安心环境检测脚本会先检查系统版本、Shell类型、是否已安装Homebrew等。目录创建对于M2芯片的Mac它会创建/opt/homebrew目录这是Homebrew在ARM64 Mac上的新家。克隆仓库从你选择的镜像源而非GitHub克隆Homebrew的核心代码库Homebrew Core和软件仓库Homebrew Cask到本地。这一步替代了官方的git clone速度是天壤之别。配置环境变量脚本会自动向你的~/.zshrc或~/.bash_profile文件末尾追加必要的配置行。核心是这两行export HOMEBREW_BREW_GIT_REMOTE... # 设置brew本身的git镜像 export HOMEBREW_CORE_GIT_REMOTE... # 设置core tap的git镜像 export PATH/opt/homebrew/bin:$PATH # 将Homebrew的可执行路径加入PATH前两行确保了未来执行brew update时也从国内镜像拉取更新。第三行是让系统能找到brew命令的关键。应用配置脚本会提示你运行source ~/.zshrc或重启终端以使新的环境变量生效。验证安装最后脚本通常会帮你运行brew doctor来检查安装是否健康。看到Your system is ready to brew.就大功告成。注意在整个过程中如果脚本询问是否允许创建目录或修改文件请确认并输入你的系统密码输入时密码不可见正常输入后回车即可。这是标准的安全授权流程。3.3 安装后的首要验证安装脚本运行完毕后不要急着关闭终端。先验证一下首先按照提示执行source ~/.zshrc来重新加载配置文件。然后输入brew --version。你应该能看到类似下面的输出其中包含Homebrew的版本号和它在/opt/homebrew的安装路径Homebrew 4.2.0 Homebrew/homebrew-core (git revision xxxxx; last commit 2023-10-27)再输入which brew确认命令路径是/opt/homebrew/bin/brew。如果这两步都正确说明Homebrew已经成功安装并配置到了你的系统环境中。4. 基础配置与常用操作让Homebrew更好用安装只是开始合理的配置和熟悉基本操作才能让它真正成为你的生产力工具。4.1 配置Bottles镜像以加速软件安装Homebrew安装软件时会优先尝试下载预编译好的二进制包称为“Bottles”。这比从源码编译要快得多。为Bottles配置国内镜像能极大提升brew install的速度。对于zsh用户打开~/.zshrc文件你可以使用nano或vim编辑器比如nano ~/.zshrc在文件末尾添加以下行以清华大学镜像为例export HOMEBREW_BOTTLE_DOMAINhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles添加后保存退出在nano中按CtrlX然后按Y确认再回车。最后别忘了执行source ~/.zshrc。现在当你安装软件时例如brew install pythonHomebrew就会从清华的镜像站下载二进制包速度非常快。4.2 必须掌握的几条brew命令Homebrew的命令设计非常直观记住几个核心的就能应付绝大多数场景。搜索软件brew search 关键词。比如brew search mysql会列出所有与MySQL相关的包。安装软件brew install 软件名。这是最常用的命令。例如安装Gitbrew install git。安装图形化应用brew install --cask 应用名。Homebrew Cask用于管理macOS的图形应用程序.app。比如安装Visual Studio Codebrew install --cask visual-studio-code。安装后应用会出现在“应用程序”文件夹中。查看已安装软件brew list列出通过brew安装的所有命令行工具。brew list --cask列出所有通过cask安装的图形应用。更新Homebrew自身和软件列表brew update。这相当于刷新软件仓库的目录建议在安装新软件前运行一下。升级已安装的软件brew upgrade。升级所有过时的包。你也可以指定升级某一个如brew upgrade python。卸载软件brew uninstall 软件名。卸载命令行工具。brew uninstall --cask 应用名卸载图形应用。诊断问题brew doctor。当你遇到任何奇怪的问题时首先运行它。它会检查你的Homebrew环境是否存在常见问题并给出修复建议。清理旧版本brew cleanup。Homebrew在升级软件后会保留旧版本的安装文件。这个命令可以清理掉这些缓存释放磁盘空间。4.3 一个实战案例从零安装Python开发环境让我们用一个实际例子串联起来。假设你要配置一个Python开发环境。更新仓库首先brew update确保列表最新。安装Pythonbrew install python。这会安装最新稳定版的Python 3。安装后python3和pip3命令就可用。安装虚拟环境工具可选但推荐pip3 install virtualenv。安装代码编辑器brew install --cask visual-studio-code。验证打开新终端输入python3 --version和code --version确认安装成功。整个过程得益于镜像配置下载安装都会非常迅速。5. 常见问题排查与进阶技巧即使按照“最简单的方法”操作也可能遇到一些特殊情况。这里汇总了常见问题及其解决方案。5.1 安装脚本运行失败或报错问题执行镜像安装脚本时提示curl: (7) Failed to connect to gitee.com port 443或类似网络错误。排查这可能是暂时的网络问题或者你的网络环境对码云Gitee也有访问限制。可以尝试检查网络连接。在浏览器中打开https://gitee.com/cunkai/HomebrewCN看是否能访问。如果不能可能需要配置系统或网络的代理。如果是因为脚本地址变更可以去GitHub搜索 “HomebrewCN” 项目查看最新的安装指令。问题脚本运行过程中在git clone步骤卡住或报错。排查这可能是选定的某个镜像源暂时不稳定。可以尝试终止脚本按CtrlC。重新运行脚本这次选择另一个镜像源如中科大源。5.2 安装后brew命令找不到command not found这是最常见的问题根本原因是环境变量PATH没有正确配置。检查运行echo $PATH查看输出的路径中是否包含/opt/homebrew/bin。如果没有说明配置未生效。解决确认你修改了正确的配置文件。如果是zsh确保是~/.zshrc如果是bash确保是~/.bash_profile。打开配置文件检查是否包含了export PATH/opt/homebrew/bin:$PATH这一行并且确保它位于文件末尾。保存文件后必须执行source ~/.zshrc或source ~/.bash_profile来使更改立即生效。或者更简单的方法是完全关闭当前终端窗口重新打开一个新的终端。新终端会自动加载新的配置。5.3brew install速度依然很慢如果配置了Bottles镜像后安装速度还是慢可能是软件本身没有提供对应你系统版本的BottleHomebrew退而求其次进行了源码编译。编译过程耗时很长。查看信息在安装时注意终端的输出。如果看到 Pouring xxx.bottle.tar.gz说明是在下载二进制包速度应该很快。如果看到 Installing xxx from source则是在编译。应对对于需要编译的大型软件如mysql,postgresql可以考虑耐心等待或者寻找是否有提供Bottle的替代版本或安装方式。5.4 如何更新和维护Homebrew保持Homebrew健康运行需要一点简单的维护。定期更新每周或每两周运行一次brew update和brew upgrade。这能让你用上最新的软件和安全补丁。善用brew doctor任何时候遇到问题先跑一遍brew doctor并遵循它的建议。它能解决大部分环境配置问题。清理空间定期运行brew cleanup可以清除旧版本缓存。如果想查看能清理出多少空间可以用brew cleanup -n模拟运行。卸载Homebrew如果未来需要卸载最干净的方法是使用我们之前提到的官方卸载脚本。确保网络通畅或者手动修改脚本中的URL为镜像地址后再运行。5.5 进阶技巧使用brew bundle管理环境当你需要在新电脑或重装系统后快速恢复整个工作环境时brew bundle是一个神器。在当前配置好的电脑上运行brew bundle dump --describe --file~/Desktop/Brewfile。这会将你所有通过brew和brew cask安装的软件列表以及它们的描述保存到桌面一个叫Brewfile的文件中。将这个Brewfile文件备份。在新系统上安装好Homebrew后将Brewfile文件放到新电脑上运行brew bundle --file~/path/to/Brewfile。Homebrew就会自动读取这个文件并安装里面列出的所有软件。这比手动记录和重新安装要高效和准确得多特别适合开发者和经常切换设备的用户。

相关新闻

老板半夜要图、项目凌晨报警,我在微信发了条消息,电脑自己动了

老板半夜要图、项目凌晨报警,我在微信发了条消息,电脑自己动了

前情提要 最近AI圈很流行Agent,作为一个软件开发者肯定也不能落后。 先说下Agent:就是能自己动手完成目标的AI,之前我们操作电脑需要去点击按钮、整理文档、整理发票、写会议纪要、查看服务器等,现在它就可以自己去完成节省我们重…

2026/10/8 20:05:10 阅读更多 →
Postman从入门到精通:API开发、测试与协作实战指南

Postman从入门到精通:API开发、测试与协作实战指南

1. 项目概述:为什么Postman是API开发的瑞士军刀 如果你是一名后端开发者、前端工程师、测试人员,或者任何需要与API打交道的人,那么Postman这个名字你一定不陌生。它早已不是那个简单的Chrome插件,而是演变成了一个功能强大的API协…

2026/10/13 0:13:45 阅读更多 →
达梦数据库归档日志管理:安全清理方法与最佳实践

达梦数据库归档日志管理:安全清理方法与最佳实践

1. 归档日志:达梦数据库的“时光机”与“空间杀手” 如果你正在管理达梦数据库,并且发现服务器的磁盘空间像夏天的冰淇淋一样融化得飞快,那么“归档日志”很可能就是那个“甜蜜的负担”。这玩意儿,既是数据库的守护神,…

2026/10/7 17:48:25 阅读更多 →

最新新闻

iOS TableView 异步加载图片:从原理到实践,告别列表卡顿

iOS TableView 异步加载图片:从原理到实践,告别列表卡顿

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
对称边界如何让模态分析生成‘春节快乐’字形

对称边界如何让模态分析生成‘春节快乐’字形

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
纯软件STM32入门:无需开发板,仿真环境跑通核心外设

纯软件STM32入门:无需开发板,仿真环境跑通核心外设

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
UDS车载诊断实战指南:服务格式、时序与否定响应码解析

UDS车载诊断实战指南:服务格式、时序与否定响应码解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
HTML表单交互与DOM操作实战:从零构建可调试的网络编程训练

HTML表单交互与DOM操作实战:从零构建可调试的网络编程训练

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
LightGBM因子筛选与BiLSTM时序建模:量化投资策略实战

LightGBM因子筛选与BiLSTM时序建模:量化投资策略实战

简介:这份资源面向计算机相关专业学生、高校教师及量化投资初学者,提供一套将LightGBM与BiLSTM结合进行因子组合选取并构建量化投资策略的完整实践项目,可直接用于毕业设计、课程设计、实训实验或公司项目二次开发。压缩包共1408个文件&#…

2026/10/13 1:02:48 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →