Homebrew update 失败,报错 homebrew-core is a shallow clone

发生环境:macOS V11.1 (Big Sur)

发生的问题:brew update 时报错,

  homebrew-core is a shallow clone.
  homebrew-cask is a shallow clone.
To `brew update`, first run:
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
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!

按照提示执行git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow,而往往等待很久后,还总是失败。
fatal: unable to access 'https://github.com/Homebrew/homebrew-core.git/': transfer closed with outstanding read data remaining



2,使用第三方加速通道重新 clone 这两个仓库

  • git clone https://github.com.cnpmjs.org/Homebrew/homebrew-core.git /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1
  • git clone https://github.com.cnpmjs.org/Homebrew/homebrew-cask.git /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask --depth=1

3,再执行 unshallow 命令

  • git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
  • git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
    这时候会自动通过 cnpmjs.org 这个加速通道下载所需的软件包。