前言

Homebrew 的下载源在国内的网络环境下速度很慢,brew update 和 brew install 等命令无法正常使用时间长了连接还会自动断开。从网络层面考虑的话有两种方法可以解决网速问题:更换下载源为国内镜像,命令行使用代理。还有一种我无法理解的方法可以解决问题:网络切换为手机热点。实践下来切换热点最有效,但其原理在网络上也搜索不到答案。所以说最简单有效推荐最先使用的方法就是切换热点,同时如果有朋友知道这背后的原理也可以留言告诉我,感谢。

国内镜像

国内总共有三个镜像可以替换,分别为中科大,清华,阿里。域名分别为:

我这边实测下来是中科大的最稳定,后续就以中科大镜像为例进行替换。可以根据实际情况替换不同的镜像。

需要替换地址的地方有三处,在终端输入对应命令。

brew.git

替换:

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

还原:

cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git

在当前路径下使用

git remote -v

可以查看当前源。

homebrew-core.git

替换:

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

还原:

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git

同样在当前路径下使用

git remote -v

可以查看当前源。

homebrew-bottles

首先确定自己使用的终端是zsh还是bash。可以在终端界面中看到,或者在终端中输入:

echo $SHELL

我使用的是 zsh,所以只有要修改 ~/.zshrc 这个文件。如果是 bash 则修改 ~/.bash_profile。接下来以 zsh 为例,终端输入:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc

或者直接修改文件:

vim ~/.zshrc

export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles 填入文件。我推荐直接修改文件的做法,在配置多了的情况下不容易乱。之后记得要刷新:

source ~/.zshrc

还原的话,只要将插入的这句删除就行了。

终端代理

~/.zshrc 中加入以下函数:

function proxy_off(){
    unset http_proxy
    unset https_proxy
    echo  "关闭代理"
}

function proxy_on() {
    export no_proxy="localhost,127.0.0.1"
    export http_proxy="socks5://127.0.0.1:1086"
	export https_proxy=$http_proxy
    echo  "开启代理"
}

function proxy_status() {
    echo $https_proxy
    curl cip.cc
}

如果是 bash 则修改 ~/.bash_profile。在科学上网软件的设置里可以找到端口号,默认是1086。之后在终端内输入相应函数,就可以执行相应命令了。

参考资料

https://blog.csdn.net/weixin_43972437/article/details/118724529
https://blog.csdn.net/zz00008888/article/details/113880633

Q.E.D.