Homebrew多镜像切换,个数不限(可自定义)
命令说明
Mac终端敲入以下命令即可永久切换镜像(使用数字或镜像名称都可以)
切换到阿里源:switch_brew_mirror 1
切换到清华源:switch_brew_mirror 2
切换到科大源:switch_brew_mirror 3
重置为官方地址:switch_brew_mirror 0
切换自定义镜像:switch_brew_mirror xxx
添加自定义镜像的方法
只需将有效的 url 写入 MIRROR_URLS 的 xxx 下,之后就可以使用命令switch_brew_mirror xxx
进行切换。如下所示
my %MIRROR_URLS = (
aliyun => { … },
tsinghua => { … },
ustc => { … },
xxx => {
HOMEBREW_API_DOMAIN => "Valid URL1",
HOMEBREW_BOTTLE_DOMAIN => "Valid URL2",
HOMEBREW_BREW_GIT_REMOTE => "Valid URL3",
HOMEBREW_CORE_GIT_REMOTE => "Valid URL4",
…
}
);
安装方法
无需安装,步骤如下:
1、将github.com/zhaiduting/zdt/blob/main/.switch_brew_mirror.pl脚本文件放入用户的 $HOME 目录(或改用 gitee.com/~/.switch_brew_mirror.pl )
2、编辑 $HOME/.zprofile 文件,末尾添加以下3行代码即可
switch_brew_mirror() {
eval "$(perl ~/.switch_brew_mirror.pl "$1")"
}; switch_brew_mirror
Mac终端测试结果如下
Last login: Wed Mar 27 10:57:45 on ttys002
~ > echo $HOMEBREW_BREW_GIT_REMOTE
mirrors.tuna.tsinghua.edu.cn/git/h...
~ >
~ > switch_brew_mirror 0
Using Homebrew default URL.
~ > echo $HOMEBREW_BREW_GIT_REMOTE
~ > switch_brew_mirror alibb
Invalid parameter alibb. Usage: switch_brew_mirror [0|aliyun|tsinghua|ustc]
~ >
~ > switch_brew_mirror aliyun
Switched to aliyun mirror.
~ > echo $HOMEBREW_BREW_GIT_REMOTE
mirrors.aliyun.com/homebrew/brew.g...
~ >
~ > switch_brew_mirror 2
Switched to tsinghua mirror.
~ > echo $HOMEBREW_BREW_GIT_REMOTE
mirrors.tuna.tsinghua.edu.cn/git/h...
~ >
为什么使用 perl 脚本
一开始是打算用shell脚本来实现这个功能的,但是发现 source 命令加载shell脚本后,所有的函数都直接暴露到终端了。改用perl后就没这问题了,用户只需调用、也只能调用一个名为 switch_brew_mirror 的函数。
镜像资料
阿里镜像 developer.aliyun.com/mirror/homebr...
清华镜像 mirrors.tuna.tsinghua.edu.cn/help/...
科大源 mirrors.ustc.edu.cn/help/brew.git....
Homebrew brew.sh
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: