brew 无法执行命令,总出现 Downloading https://.../api/formula.json

每次 brew 命令都出现 Downloading https://formulae.brew.sh/api/formula.json,而且特别慢,总是超时,翻墙了也不管用…
brew 源已经设为阿里云的了,还出现这东西。原因是 brew 4 默认从 HOMEBREW_API_DOMAIN 安装应,每次都下载 formula.json

有两个方式能解决这个问题。

方式1:把 HOMEBREW_API_DOMAIN 设置到国内源,这样每次虽然都会下载 formula.json,但是就几秒的事。

1
2
echo 'export HOMEBREW_API_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles/api' >> ~/.bash_profile
source ~/.zshrc

方式2:禁止从 API 安装应用,不会每次执行命令就跑出这东西,但要手动升级应用。

export HOMEBREW_NO_INSTALL_FROM_API=1 加入 ~/.bash_profile

1
2
echo 'export HOMEBREW_NO_INSTALL_FROM_API=1' >> ~/.bash_profile
source ~/.zshrc

Homebrew 设置为阿里源

brew 源极慢,有必要把 Homebrew 源改为成国内源。

Homebrew 源主要有四个部分组成:

名称 说明
brew Homebrew 源代码仓库
homebrew-core Homebrew 核心软件仓库
homebrew-bottles Homebrew 预编译二进制软件包
homebrew-cask 提供 macOS 应用和大型二进制文件

安装 brew

如果还没安装 homebrew,则需要先安装。

用官网推荐安装方式:

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

如果安装很慢,可使用清华源安装

1
2
3
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

查看当前源

1
2
3
4
5
6
7
8
9
$ cd "$(brew --repo)" && git remote -v
origin https://github.com/Homebrew/brew.git (fetch)
origin https://github.com/Homebrew/brew.git (push)

# 查看 homebrew-core.git 当前源
$ cd "$(brew --repo homebrew/core)" && git remote -v
origin https://github.com/Homebrew/homebrew-core.git (fetch)
origin https://github.com/Homebrew/homebrew-core.git (push)

改为阿里源

阅读更多