zzxworld

Mac 系统使用国内源安装 Homebrew(brew)

Homebrew 是 macOS 系统终端环境下的一个第三方软件管理工具,相当于是一个非官方的免费软件 App Store。对于有代码开发需求的程序员用户来说,它是装机必备。即便是没有代码开发需求,也可以用来安装一些常用的免费软件,比如谷歌浏览器。用它可比从一些不知名的软件站下载要靠谱多了。

Homebrew 的安装流程本身并不复杂。官方网站上给出的安装方式就一行命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

如果能正常访问 Github,只需要复制上面的命令到终端,然后按回车键执行即可。但目前在国内,上面的命令大概率无法成功执行。因为它的安装代码托管在 Github,国内无法正常访问这个网站。这给 Homebrew 的安装和使用增加了一点障碍。好在天无绝人之路,通过国内的一些镜像源可以解决这个问题,只不过需要多点操作。

使用清华源安装 Homebrew

国内的清华大学有一个镜像站,它为大量开源系统和软件提供了镜像加速服务。我在使用 Linux 系统时经常会用它提供的镜像源,速度快又比较稳定。它刚好也提供了 Homebrew 的镜像功能,所以我比较推荐使用它的镜像服务来安装 Homebrew。

开始前,需要先安装一下 Xcode 的命令行工具(Command Line Tools for Xcode):

xcode-select --install

然后设置几个相关的环境变量:

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"

接下来用 git 命令从清华源拉取 Homebrew 的安装源码:

git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install

执行源码中的安装脚本:

/bin/bash brew-install/install.sh

等脚本执行结束后,就可以把源码目录删除了:

rm -rf brew-install

至此整个安装环节结束。现在已经可以开始正常使用 brew 命令。

如果是 M1 芯片,还需要配置一下相关的环境变量。我目前还没有 M1 设备,无法验证相关配置的效果。如果你当前使用的是 M1 芯片,可以参考清华源的 Homebrew 镜像使用帮助

Homebrew 换源

镜像源有时在使用时,可能会因为同步或是服务器网络原因导致使用 brew 命令时出现异常。如果没时间等待镜像站恢复正常,可以尝试换一个镜像源。下面以阿里云为例,演示一下为 Homebrew 换源的操作。

打开 ~/.zprofile 文件,添加下面几行配置:

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/homebrew-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.aliyun.com/homebrew/homebrew-bottles"

保存后执行下面的命令使配置生效:

brew update

使用体验

以安装谷歌浏览器为例来演示一下使用镜像源后的实际使用效果。使用 brew 安装谷歌浏览器的命令如下:

brew install google-chrome

命令在我电脑上的执行结果如下:

zzxworld@Macmini ~ % time brew install google-chrome
==> Downloading https://dl.google.com/chrome/mac/universal/stable/GGRO/googlechrome.dmg
######################################################################## 100.0%
Warning: No checksum defined for cask 'google-chrome', skipping verification.
==> Installing Cask google-chrome
==> Moving App 'Google Chrome.app' to '/Applications/Google Chrome.app'
🍺  google-chrome was successfully installed!
brew install google-chrome  29.21s user 3.86s system 35% cpu 1:33.35 total

为了方便对比参考,我在前面加了 time 命令,用来统计 brew 命令的执行时间。最后一行是命令的时间汇总,耗时一分半,这速度包含了软件下载和安装的时间,说不上很快,但还行。