Homebrew的优化
Homebrew 用来管理 macOS 缺失的软件包,由于该工具使用起来很简单,因此使用非常广泛,可以说 Homebrew 是 macOS 中必备的工具之一。 安装
国内用户在下载安装前,最好先将 Homebrew 的 git 镜像地址设置为国内的镜像源以加快安装速度:
本文以中科大镜像源为例,读者朋友可根据喜爱换成阿里镜像源或清华镜像源。echo "export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"" >> ~/.zshrc echo "export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"" >> ~/.zshrc source ~/.zshrc /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后,根据提示执行 shellenv 命令,将 Homebrew 添加到 PATH、HOMEBREW_PREFIX 等变量中: echo "eval "$(/opt/homebrew/bin/brew shellenv)"" >> ~/.zshrc source ~/.zshrc
安装地址如下: x86: /usr/local/Homebrew/ Apple M1: /opt/homebrew 优化
国内用户使用 brew 安装软件时,会发现速度慢的惊人。我们可以通过增加 --verbose 参数来查看具体卡在哪,不过一般说来都是因为下载速度慢导致的,对此可通过如下两种方式优化,两种方式二选一即可。 设置代理
若本地有代理,可通过 ALL_PROXY=socks5://127.0.0.1:1080(假设代理端口为 1080)让 brew 走代理来加快下载速度,如: ALL_PROXY=socks5://127.0.0.1:1080 brew install ghostscript
本方式适用有代理服务器的用户。
报错
执行 ALL_PROXY=socks5://127.0.0.1:1080 brew install imagemagick 时报错如下:
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to ghcr.io:443
在执行命令前,尝试先执行 export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles 能否解决这个问题。若不能,则建议使用修改上游源地址的方式来重新安装软件,见下文。 修改仓库上游源地址
若需要修改源地址,则如下仓库的上游地址均需修改: brew: Homebrew 源代码仓库 homebrew-core: Homebrew 核心软件仓库。对于常用的一些工具包,Homebrew 提供了预编译的二进制包,以加快安装速度,这种方式称为 bottles。 homebrew-cask: 扩展了 Homebrew,用来优化 macOS GUI 应用的安装和管理。相关仓库还有 homebrew-cask-fonts, homebrew-cask-drivers, homebrew-cask-versions。
按如下命令修改仓库源地址: 设置 HOMEBREW_BREW_GIT_REMOTE、HOMEBREW_CORE_GIT_REMOTE 和 HOMEBREW_BOTTLE_DOMAIN 为中科大镜像源,若已设置则此步可跳过。 echo "export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"" >> ~/.zshrc echo "export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"" >> ~/.zshrc echo "export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"" >> ~/.zshrc echo "eval "$(/opt/homebrew/bin/brew shellenv)"" >> ~/.zshrc source ~/.zshrc更新仓库源地址 for tap in core cask{,-versions} ; do brew tap --custom-remote --force-auto-update "homebrew/${tap}" "https://mirrors.ustc.edu.cn/homebrew-${tap}.git" done
若某个仓库更新太慢,可直接手动下载。如 homebrew-core 下载太慢,通过如下方式下载: cd "$(brew --repo)/Library/Taps/homebrew" rm -rf homebrew-core git clone git://mirrors.ustc.edu.cn/homebrew-core.git执行 brew update 重新远程拉取 还原上游仓库源地址
若需要还原上游仓库源地址删除 ~/.zshrc 中关于 Homebrew 的配置 sed -i "" "/homebrew/d" ~/.zshrc source ~/.zshrc还原仓库源地址 BREW_TAPS="$(BREW_TAPS="$(brew tap 2>/dev/null)"; echo -n "${BREW_TAPS//#39; "/:}")" for tap in core cask{,-fonts,-drivers,-versions} ; do if [[ ":${BREW_TAPS}:" == *":homebrew/${tap}:"* ]]; then # 只复原已安装的 Tap brew tap --custom-remote --force-auto-update "homebrew/${tap}" "https://github.com/Homebrew/homebrew-${tap}" fi done执行 brew update 重新远程拉取 卸载
执行命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh) 即可卸载。