# homebrew 长时间停在 Updating Homebrew 这个步骤


在国内的网络环境下使用 Homebrew 安装软件的过程中可能会长时间卡在 `Updating Homebrew` 这个步骤。

例：执行 `brew install composer` 命令

```bash
➜  ~ brew install composer
Updating Homebrew... # 如果碰到长时间卡在这里，参考以下 2 种处理方法
```

## 方法 1：取消本次更新

按住 <kbd>control</kbd> + <kbd>c</kbd> 取消本次更新操作

```bash
➜  ~ brew install composer
Updating Homebrew...
^C
```

按住 <kbd>control</kbd> + <kbd>c</kbd> 之后命令行会显示 ^C，就代表已经取消了 Updating Homebrew 操作

大概不到 1 秒钟之后就会去执行我们真正需要的安装操作了

<!--more-->

```bash
➜  ~ brew install composer
Updating Homebrew...
^C==> Satisfying dependencies
==> Downloading https://getcomposer.org/download/1.7.2/composer.phar
...
```

这个方法是临时的、一次性的

## 方法 2：直接关闭brew每次执行命令时的自动更新（推荐）

```javascript
vim ~/.bash_profile

# 新增一行
export HOMEBREW_NO_AUTO_UPDATE=true
```


## 方法 3：使用 Alibaba 的 Homebrew 镜像源进行加速
平时我们执行 brew 命令安装软件的时候，跟以下 3 个仓库地址有关：

- brew.git
- homebrew-core.git
- homebrew-bottles

通过以下操作将这 3 个仓库地址全部替换为 Alibaba 提供的地址

### 1. 替换 / 还原 brew.git 仓库地址

替换成阿里巴巴的 brew.git 仓库地址:

```bash
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
```

还原为官方提供的 brew.git 仓库地址

```bash
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
```

---
toc: true
comments: false
draft: false

### 2. 替换 / 还原 homebrew-core.git 仓库地址

替换成阿里巴巴的 homebrew-core.git 仓库地址:

```bash
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
```

还原为官方提供的 homebrew-core.git 仓库地址

```bash
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git
```
---
toc: true
comments: false
draft: false

### 3. 替换 / 还原 homebrew-bottles 访问地址

这个步骤跟你的 macOS 系统使用的 shell 版本有关系

所以，先来查看当前使用的 shell 版本

`echo $SHELL`

如果你的输出结果是 `/bin/zsh`，参考 3.1 的 zsh 终端操作方式

如果你的输出结果是 `/bin/bash`，参考 3.2 的 bash 终端操作方式

#### 3.1 zsh 终端操作方式

替换成阿里巴巴的 `homebrew-bottles` 访问地址:

```bash
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
```

还原为官方提供的 `homebrew-bottles` 访问地址

`vi ~/.zshrc`

然后，删除 `HOMEBREW_BOTTLE_DOMAIN` 这一行配置

`source ~/.zshrc`

#### 3.2 bash 终端操作方式

替换 homebrew-bottles 访问 URL:

```bash
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
```

还原为官方提供的 `homebrew-bottles` 访问地址

`vi ~/.bash_profile`

然后，删除 `HOMEBREW_BOTTLE_DOMAIN` 这一行配置

`source ~/.bash_profile`

原文 : https://www.cnblogs.com/tulintao/p/11134877.html
