きょるに @kyoruni

ダッシュで奪取

チラシの裏

【macOS】brew updateできない

環境

  • macOS Mojave 10.14.6
  • Homebrew

事象

アップデートしようと思ったら、できない!

$ brew update
Error:
  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!

上記の翻訳(要約)

shallow clone は、ツリーのレイアウトとトラフィックのために非常にコストのかかる操作です。
shallow clone を使用しないように修正する必要があります。

update.sh: refuse to update shallow homebrew-core/cask clones. by MikeMcQuaid · Pull Request #9383 · Homebrew/brew

上記ページにあるように、GitHub に負荷のかかる操作が行われていたため修正があったみたいです。

対処

エラーメッセージに書かれている通り、下記を実行

「止まったかな?」ってぐらいめちゃくちゃ時間がかかったので、何も反応がなくてもしばらく待ってあげて下さい。

$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow

# それぞれ、以下のような記述が出るまで待つ
From https://github.com/Homebrew/homebrew-core
   a52c78d356..996fadaab2  master -> origin/master

結果

$ brew update
==> Updated Formulae

エラー出なくなった!ヤッター

参考URL