MacOS 安装Homebrew
我的mac需要安装svn需要用到Homebrew(而且homebrew是Mac必备的包管理器)。
但是因为国内有墙的存在所以homebrew老是安装失败,所以只能安装国内镜像,我这次选择的是清华源镜像。
因为是macOS所以需要安装Command Line Tools (CLT) for Xcode
工具
xcode-select --install
然后配置环境变量(复制这些命令到终端中执行)
if [[ "$(uname -s)" == "Linux" ]]; then BREW_TYPE="linuxbrew"; else BREW_TYPE="homebrew"; fi
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/${BREW_TYPE}-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/${BREW_TYPE}-bottles"
继续在终端中执行下面的命令,进行安装homebrew
git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install
/bin/bash -c "$(
cat brew-install/install.sh |
sed -E 's|^(\s*HOMEBREW_BREW_GIT_REMOTE=)(.*)$|\1"${HOMEBREW_BREW_GIT_REMOTE:-\2}"|g' |
sed -E 's|^(\s*HOMEBREW_CORE_GIT_REMOTE=)(.*)$|\1"${HOMEBREW_CORE_GIT_REMOTE:-\2}"|g'
)"
rm -rf brew-install
请注意,我在这儿执行到显示
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
时卡死了,关闭终端,打开/opt/homebrew/Library/Taps/homebrew
把其中的homebrew-core
文件夹删除。
然后在/opt/homebrew/Library/Taps/homebrew
路径下打开终端,输入
git clone https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
从镜像下载home-core
。
添加环境变量(因为我是M1芯片,所以需要执行这个,如果是i系列请跳过)
grep -qF '/opt/homebrew/bin' /etc/paths || sudo sed -i "" '1i \
/opt/homebrew/bin
' /etc/paths
grep -qF '/opt/homebrew/share/man' /etc/manpaths || sudo sed -i "" '1i \
/opt/homebrew/share/man
' /etc/manpaths
因为我是big sur版本的系统,使用了zshrc,所以需要再配置一下环境到zshrc中,
因为我是把环境配置到了.bash_profile
文件中,然后zshrc
中执行了source .bash_profile
,所以生效了,如果不配置在.bash_profile
中可以直接在zshrc
中执行环境变量。
export HOMEBREW_HOME=/opt/homebrew
export PATH=$PATH:$HOMEBREW_HOME/bin
关闭终端重新打开,输入brew -v
验证是否有效。
环境配置结束。
替换上游仓库:
终端中执行 ``` git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git ``` mac系统再执行BREW_TAPS="$(brew tap)"
for tap in core cask{,-fonts,-drivers,-versions}; do
if echo "$BREW_TAPS" | grep -qE "^homebrew/${tap}\$"; then
git -C "$(brew --repo homebrew/${tap})" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-${tap}.git
git -C "$(brew --repo homebrew/${tap})" config homebrew.forceautoupdate true
else
brew tap --force-auto-update homebrew/${tap} https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-${tap}.git
fi
done
更换上游后需重新设置 git 仓库 HEAD:
brew update-reset
完成。