brew install 慢的原因
brew install 会先去执行 brew update
而 brew update,会依次更新
brew
homebrew-core
homebrew-cask
而以上三个的来源都在 github,国内 github 的连接极不稳定,国此速度才会很慢
解决方法
最直观的解决方法,就是不从 github 更新。而走别的境像源,可以选择第三方的源,或是建立本地境像。
建立本地境象的方法:
cd ~/Documents
mkdir repository
cd repository
git clone –mirror https://github.com/Homebrew/brew.git
git clone –mirror https://github.com/Homebrew/homebrew-core.git
git clone –mirror https://github.com/Homebrew/homebrew-cask.git
cd /usr/local/Homebrew/
git remote set-url origin ~/Documents/repository/brew.git
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git remote set-url origin ~/Documents/repository/homebrew-core.git
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
git remote set-url origin ~/Documents/repository/homebrew-cask.git
与第三方源比较
优点:由于镜像在本地,等同于完全跳过了 update 阶段,安装很顺畅
缺点:需要手动同步境像,不过对于 brew 这类实时性要求不高的软件来说,这可能也是一个优点
手动更新方式
cd ~/Documents/repository/brew.git
git remote update
cd ~/Documents/repository/homebrew-core.git
git remote update
cd ~/Documents/repository/homebrew-cask.git
git remote update
brew update
cd /usr/local/Homebrew/
git remote set-url origin /Users/didi/brew/repository/brew
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git remote set-url origin /Users/didi/brew/repository/homebrew-core
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
git remote set-url origin /Users/didi/brew/repository/homebrew-cask
在国内的网络环境下使用 Homebrew 安装软件的过程中可能会长时间卡在 Updating Homebrew 这个步骤。
例:执行 brew install composer 命令
➜ ~ brew install composer
Updating Homebrew… # 如果碰到长时间卡在这里,参考以下 2 种处理方法
方法 1:按住 control + c 取消本次更新操作
➜ ~ brew install composer
Updating Homebrew…
^C
按住 control + c 之后命令行会显示 ^C,就代表已经取消了 Updating Homebrew 操作
大概不到 1 秒钟之后就会去执行我们真正需要的安装操作了
➜ ~ brew install composer
Updating Homebrew…
^C==> Satisfying dependencies
==> Downloading https://getcomposer.org/download/1.7.2/composer.phar
…
这个方法是临时的、一次性的
方法 2:使用 Alibaba 的 Homebrew 镜像源进行加速
平时我们执行 brew 命令安装软件的时候,跟以下 3 个仓库地址有关:
brew.git
homebrew-core.git
homebrew-bottles
通过以下操作将这 3 个仓库地址全部替换为 Alibaba 提供的地址
cd “$(brew –repo)”
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
#=======================================================
cd “$(brew –repo)”
git remote set-url origin https://github.com/Homebrew/brew.git
cd “$(brew –repo)/Library/Taps/homebrew/homebrew-core”
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
#=======================================================
cd “$(brew –repo)/Library/Taps/homebrew/homebrew-core”
git remote set-url origin https://github.com/Homebrew/homebrew-core.git
所以,先来查看当前使用的 shell 版本
echo $SHELL
3.1 zsh 终端操作方式
echo ‘export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles’ » ~/.zshrc
source ~/.zshrc
#=======================================================
vi ~/.zshrc
source ~/.zshrc
3.2 bash 终端操作方式
echo ‘export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles’ » ~/.bash_profile
source ~/.bash_profile
#=======================================================
vi ~/.bash_profile
source ~/.bash_profile