You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何brew运行极慢?求非重启类排查解决办法

我之前也碰到过brew命令奇慢无比的情况,结合自己踩过的坑和社区里的解决方案,给你整理几个实打实的排查方向,试试从这些点入手:

1. 先排查DNS解析问题

brew的很多操作依赖访问GitHub、Raw.githubusercontent这些域名,如果DNS解析慢,整个流程都会被拖慢。

  • 测试关键域名的解析速度:运行 dig github.com 和 dig raw.githubusercontent.com,看返回结果里的Query time,正常应该在几十毫秒内,如果超过几百毫秒甚至几秒,那DNS就是问题所在。
  • 更换公共DNS:比如改成114.114.114.114或者8.8.8.8,改完后刷新macOS的DNS缓存:
    • Ventura及以上系统:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    • 旧版macOS:sudo killall -HUP mDNSResponder
2. 切换国内镜像源

默认的brew源在国外,网络波动大的时候访问速度会特别慢,换成国内镜像能立竿见影。

  • 先备份当前源配置(防止出问题能恢复):
    cp "$(brew --repo)/.git/config" "$(brew --repo)/.git/config.bak"
    cp "$(brew --repo homebrew/core)/.git/config" "$(brew --repo homebrew/core)/.git/config.bak"
    cp "$(brew --repo homebrew/cask)/.git/config" "$(brew --repo homebrew/cask)/.git/config.bak"
    
  • 替换为清华镜像源(中科大源也可以,步骤类似):
    git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
    git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
    git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
    
  • 刷新缓存:brew update
  • 如果之后想恢复默认源,把备份的config文件替换回去即可。
3. 禁用或调整brew自动更新

默认情况下,每次执行brew命令都会自动检查更新,这个过程如果网络慢就会拖很久。

  • 临时禁用测试:执行命令前加上 HOMEBREW_NO_AUTO_UPDATE=1,比如 HOMEBREW_NO_AUTO_UPDATE=1 brew --version,如果速度明显变快,那就是自动更新在拖后腿。
  • 永久禁用自动更新:把环境变量加到你的shell配置文件(比如~/.zshrc或~/.bashrc)里:
    echo 'export HOMEBREW_NO_AUTO_UPDATE=1' >> ~/.zshrc
    source ~/.zshrc
    
  • 或者调整更新间隔(比如每周检查一次):
    echo 'export HOMEBREW_AUTO_UPDATE_SECS=604800' >> ~/.zshrc
    source ~/.zshrc
    
4. 优化Git配置

brew底层依赖Git同步仓库,Git的一些默认配置可能导致传输慢。

  • 增大HTTP缓冲区:
    git config --global http.postBuffer 524288000
    
  • 启用最高压缩级别:
    git config --global core.compression 9
    
  • 关闭凭证助手(有时候凭证检查会拖慢Git操作):
    git config --global --unset credential.helper
    
5. 清理brew缓存与重置本地仓库

缓存堆积或者本地仓库有损坏也可能导致操作变慢。

  • 清理旧缓存:brew cleanup
  • 重置brew本地仓库(注意:这会重置源配置,之前换过源的话需要重新设置):
    cd "$(brew --repo)"
    git fetch --prune
    git reset --hard origin/master
    brew update-reset
    
6. 检查网络代理设置

如果你开了全局代理,但代理服务器不稳定或者规则没配置好,brew访问外部资源会变慢。

  • 先临时关闭代理,再执行brew命令测试速度,如果变快,说明代理是问题所在。
  • 可以让brew强制不使用代理:
    echo 'export HOMEBREW_NO_PROXY=1' >> ~/.zshrc
    source ~/.zshrc
    

内容的提问来源于stack exchange,提问作者wisbucky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:26:06