换了阿里源brew update依然卡主

使用了阿里的homebrew源:https://developer.aliyun.com/...

# 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
# 替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
# 应用生效
brew update
# 替换homebrew-bottles:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

使用brew update -v打印log,发现卡在:

Checking if we need to fetch /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask...

解决办法

阿里的镜像中没有homebrew-cask,使用中科大的源:

https://mirrors.ustc.edu.cn/h...

cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

现在使用brew update -v终于通畅了

如果你仍然卡在别的地方,并且找不到国内镜像,可以尝试设置命令行代理:

export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7891

原理

brew的一些包信息维护在github上,brew update 除了主仓库,还要更新 brew taps(https://docs.brew.sh/Taps)。卡主的根本原因是github被墙,所以需要把这些仓库的git地址换成国内的镜像仓库地址。


无风
670 声望63 粉丝