Closed4

brew update が "protocol error: bad pack header" で失敗する

ピン留めされたアイテム
janusweljanuswel

Homebrew 4.0 から、 tap の git clone が必要なくなったらしい
手元の working directory は削除していいみたい

brew -v でバージョンが 4.0 以上であることを確認

Homebrew 4.0.26
Homebrew/homebrew-core (git revision 6976065b175; last commit 2023-07-04)
Homebrew/homebrew-cask (git revision 2f82f6248c; last commit 2023-07-04)

Homebrew がバージョン 4 以下の場合は、 brew upgrade などでアップデートする

untap してやる

brew untap homebrew/core
brew untap homebrew/cask

もしかしたら brew cleanup だけで済むのかもしれない

janusweljanuswel

brew update を打つと次のようなエラーが出て失敗する

remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header

対象は次のふたつ

  • homebrew-core
  • homebrew-cask
janusweljanuswel

ここに書いてあるように、一度 --depth オプションで shallow clone してから --unshallow オプションでガッと落とすと成功した

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git fetch --depth 10
git fetch --unshallow
git rebase origin/master

homebrew-cask に対しても同じように実施してやる

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
git fetch --depth 10
git fetch --unshallow
git rebase origin/master
janusweljanuswel

アップグレードガイドがないから、ちょっと手間取ったぜ……

このスクラップは2023/07/04にクローズされました