安装 Homebrew 的一些注意事项
Homebrew 是 macOS 上最常使用的软件包管理工具。因为一些众所周知的原因,在国内使用 Homebrew 会有一点慢,本文要介绍的就是如何让你的 Homebrew 更快更丝滑。本文可作为 macOS 初始安装 Homebrew 时的参考。
本文只讲安装与配置,关于 Homebrew 的具体用法,可以自行查询。
安装
默认安装命令
我们可以在 Homebrew 的官网上找到这个安装命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
但是这个命令会使用 curl 工具从raw.githubusercontent.com下载安装脚本,国内访问raw.githubusercontent.com不稳定,常因超时或连接被重置而失败。
从镜像站安装 Homebrew
本文使用清华源、科大源、阿里源为例,对应软件源的帮助文档可以参考:清华源Homebrew文档、科大源Homebrew文档、阿里源Homebrew文档。
1. 配置环境变量(安装前)
在~/.zshrc文件中(如果没有则新建此文件)添加如下命令设置环境变量:
# 清华大学镜像
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"
export HOMEBREW_PIP_INDEX_URL="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
# 中科大镜像
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
export HOMEBREW_PIP_INDEX_URL="https://pypi.mirrors.ustc.edu.cn/simple/"
# 阿里镜像
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/brew.git"
export HOMEBREW_API_DOMAIN="https://mirrors.aliyun.com/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.aliyun.com/homebrew/homebrew-bottles"
export HOMEBREW_PIP_INDEX_URL="https://mirrors.aliyun.com/pypi/simple/"
你可能会在其他地方看到配置
HOMEBREW_CORE_GIT_REMOTE环境变量,在 Homebrew 4 版本之后已经不需要配置这个环境变量了,所以本文就没有列出这个变量。
以上环境变量写入 ~/.zshrc 后可以持久生效;如果只是临时使用,也可以直接在终端中执行上述 export 命令,但重启终端后会失效。写入 ~/.zshrc 后,执行 source ~/.zshrc 让其立即生效(新开一个终端窗口也能达到同样效果)。
配置了这几个环境变量后,brew update、brew upgrade和brew install等命令就会从镜像站读取资源。
有关环境变量的知识,可以阅读《随便说说之环境变量》。
2. 从镜像站下载安装脚本
在终端中执行以下命令:
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
3. 配置环境变量(安装后)
安装完成后,在~/.zshrc文件中添加如下命令设置环境变量:
eval "$(/opt/homebrew/bin/brew shellenv)"
# 如果你的 mac 是 intel 版本,则使用下面这个命令
# eval "$(/usr/local/bin/brew shellenv)"
使用体验
不建议使用清华源
本人最初是设置了清华镜像源,使用清华源时,运行brew install命令时竟然输出了排队信息remote: Waiting in queue... (Position: 53),排队位次是一百多,在网上搜了一下,看到 v2ex 上有网友排队位置在 946 位,这就有点离谱。后面切换到科大源后,就没有遇到这个问题了,阿里源应该也没这种问题。
切换镜像源
如果在使用过程中想切换镜像源(比如从清华源换到科大源),只需修改 ~/.zshrc 中对应的 export 行,然后执行 source ~/.zshrc 让其生效即可,无需重新安装 Homebrew。
查看当前使用的源
执行 brew config 可以查看 Homebrew 的配置信息,其中 HOMEBREW_BREW_GIT_REMOTE、HOMEBREW_BOTTLE_DOMAIN 等字段反映了当前生效的镜像源:
brew config
临时使用官方源
如果镜像源临时不可用,可以在单条命令前清空对应的环境变量,让本次命令回退到官方源:
HOMEBREW_BOTTLE_DOMAIN= brew install wget
后记
写这篇博客是因为我自己作为一个十几年的 Mac 用户,之前一直没有为 Homebrew 配置镜像站。访问不到raw.githubusercontent.com,我就通过 ssh 协议从 Github 把安装脚本下载下来安装。brew install失败的时候,我就多次执行安装命令,多执行几次总会成功的。这十几年也就这样过来了。
为了方便以后的使用,我写这篇博客记录下安装 Homebrew 的一些注意事项。