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

Mac 下用 brew 安装多版本 php

以前用 window 系统的时候,经常去 php 官网下载不同版本的 php 来使用,改一下系统 path 就可以更换默认 php 版本,其它版本用完整路径也可以使用。Mac 上就更省事一点,用 brew 命令就可以安装不同版本的 php,再用 brew-php-switcher 切换默认 php 版本,而且用 pecl 命令就可以安装 pecl 扩展。

查询 php 安装包版本

1
brew search php

执行命令后,你会看到不同版本的 php, 最新版的是不带版本号直接是 php,旧版本带版本号,如:php@8.1php@7.4

安装 php

1
2
brew install php #不带版本号是最新版
brew install php@8.1 # 带版本号

切换 php 版本

阅读更多

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)

改为阿里源

阅读更多