Homebrew brew update 长时间没反应(或卡在 Updating Homebrew...)

简介: Homebrew brew update 长时间没反应(或卡在 Updating Homebrew...)

一、问题简介

  • Mac Homebrew 安装与卸载
  • 有时候在 brew updatebrew install xxx … 命令的时候会长时间没反应或者卡在 Updating Homebrew...
  • 原因是:由于我们安装的 brew 默认 repo 是官方的 repo,出于国内特殊原因无法连接,所以使用 AlibabaHomebrew 镜像源进行加速后问题就能解决。
  • 平时我们执行 brew 命令安装软件的时候,跟下面 3 个仓库地址有关:
brew.git
homebrew-core.git
homebrew-bottles

二、解决办法(按步骤依次替换下去,后续可还原)

  • 替换 brew.git 仓库地址
$ 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
  • 替换 homebrew-core.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
  • 替换 homebrew-bottles 访问地址:
    1、这个步骤跟 macOS 系统使用的 shell 版本有关系,先查看 shell 版本
$ echo $SHELL
会输出 
/bin/zsh
/bin/bash
  • 2、如果输出 /bin/zsh,访问地址换成这个:
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
$ source ~/.zshrc
  • 还原:
$ vi ~/.zshrc
# 然后,删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置
$ source ~/.zshrc
  • 3、如果输出 /bin/bash,访问地址换成这个:
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile
  • 还原:
$ vi ~/.bash_profile
# 然后,删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置
$ source ~/.bash_profile
  • 配置到这里就结束了,可以再次执行
$ brew update
  • 如果正常运行,可以不用往下看了!!
  • 如果不行,就继续看:
$ brew doctor
# 输出如下的错误信息
/usr/local/Homebrew/Library/Homebrew/global.rb:12:in `require': cannot load such file -- active_support/core_ext/object/blank (LoadError)
    from /usr/local/Homebrew/Library/Homebrew/global.rb:12:in `<top (required)>'
    from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative'
    from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `<main>'
  • 无论报什么错误,先不管,执行以下命令
$ brew update-reset
  • 等待更新完成之后,再次执行
$ brew update
  • 如果正常运行,可以不用往下看了!!
  • 如果报错 homebrew-core is a shallow clone.
Error: 
  homebrew-core is a shallow clone.
To `brew update`, first run:
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
This command may take a few minutes to run due to the large size of the repository.
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in
CI systems (which should instead be fixed to not use shallow clones). Sorry for
the inconvenience!
  • 删除 homebrew-core 后更新即可
$ cd /usr/local/Homebrew/Library/Taps/homebrew
$ rm -rf homebrew-core
$ brew upgrade
  • 使用 $ brew upgrade 后会重新更新 homebrew-core
  • 如果 $ brew upgrade 安装速度太慢,直接 control + c 停下来,按下面的方式进行安装
// 进入 Taps 文件夹
$ cd /usr/local/Homebrew/Library/Taps
// 新建 homebrew 文件并进入,如果有这个文件可以直接进入
$ mkdir homebrew && cd homebrew
$ cd homebrew
// Git 下载
$ git clone git://mirrors.ustc.edu.cn/homebrew-core.git
  • 成功之后,执行安装命令,中途需要回车确认:
$ /bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"
  • 最后看到 ==> Installation successful! 就说明安装成功了。
    最后可以在更新一下,一般现在已经是最新版本了,然后就可以通过 brew 进行安装工具了。
$ brew update
  • 基本到这就搞定了!!!配置完后再去安装下某些工具和 module 时就能发现畅快无比了!!
    附带:Mac 下镜像飞速安装 Homebrew 教程,这篇文章中有其他的镜像源可供选择!

相关文章
|
Linux iOS开发 MacOS
brew - mac 下的 brew 切换为国内源
brew - mac 下的 brew 切换为国内源
6734 0
|
7月前
|
缓存 Shell API
解决mac电脑brew update很慢的问题
Homebrew 大部分都是 API 优先模式,切换国内源需配置 API 镜像而非仅修改 git 仓库。核心是设置 `HOMEBREW_API_DOMAIN` 指向国内镜像(如清华源),并更新 brew 主仓库地址,最后执行 `brew update` 生效。旧方法已不适用新版本。
1397 5
完美解决 fatal: unable to access ‘https://github.com/Homebrew/brew/‘
完美解决 fatal: unable to access ‘https://github.com/Homebrew/brew/‘
2952 0
|
Kubernetes 安全 虚拟化
VMware Fusion 13.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Fusion 13.6.3 发布下载,现在完全免费无论个人还是商业用途
26508 10
VMware Fusion 13.6.3 发布下载,现在完全免费无论个人还是商业用途
|
缓存 API 开发工具
有关Unity使用Rider编辑器无法弹出代码提示的有效解决方法
【11月更文挑战第13天】在 Unity 中使用 Rider 编辑器时,若遇到代码提示无法弹出的问题,可以通过检查 Rider 设置(如自动补全选项、Unity 插件安装、索引设置)、Unity 项目设置(如解决方案正确关联、脚本导入设置)以及环境和依赖关系(如 .NET SDK 版本兼容性、Unity 和 Rider 版本兼容性)等方面进行排查和解决。
2611 5
|
Shell 数据安全/隐私保护
Mac上HomeBrew安装及换源教程
【8月更文挑战第30天】这是在 Mac 上安装及更换 Homebrew 源的教程。首先通过终端执行命令 `/bin/bash -c &quot;\$\(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh\)` 安装 Homebrew,并使用 `brew --version` 检查是否安装成功。接着可更换软件源以提高下载速度,例如设置中科大为源,并更新相关设置。这将有助于提升 Homebrew 的使用体验。
3638 10
|
Unix iOS开发 Ruby
Mac 从零安装cocoapods
最近申请换了台 MacBook Pro(之前用的是MacBook Air),一台干净的像小孩子屁股一样的电脑,iOS开发相关的常用软件一个也没有。当下载了item2(本人很不喜欢Mac自带的终端,所以还是习惯的下载了item2,如果有小伙伴需要了解,请点击https://www.jianshu.com/p/93f5c3491954)Xcode和项目后,由于我们项目用了cocoapods,所以不得不安装它。关于cocoapods的介绍就不多说了,下面直接开始安装步骤吧!
Mac 从零安装cocoapods
|
JavaScript 小程序 前端开发
【Vue篇】mac上Vue 开发环境搭建、运行Vue项目(保姆级)
【Vue篇】mac上Vue 开发环境搭建、运行Vue项目(保姆级)
5545 2
Mac解决Updating Homebrew卡顿
Mac解决Updating Homebrew卡顿
951 0