らんだむな記憶

blogというものを体験してみようか!的なー

brew がめちゃめちゃ時間がかかる

今さらだけどHomebrewのコマンドをちゃんと理解して使おう - Qiita
何がなんやら・・・。

brew install gawk

したらひどい目に・・・。まずは

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!

と出ていて、DeepL に放り込むと

このコマンドは、リポジトリのサイズが大きいため、実行に数分かかることがあります。
この制限は、GitHub の要請によるものです。シャロークローンの更新は、Homebrew/homebrew-core および Homebrew/homebrew-cask のツリーレイアウトとトラフィックのために非常に高価な操作となります。CIシステムで高価なunshallow操作を繰り返し行うことを避けるために、自動的にこれを行わないようにしています(代わりにシャロークローンを使用しないように修正すべきです)。ご不便をおかけして申し訳ありません。

とのこと。知らんがな。homebrew-coregit clone --depth 1 で取得されててね、ということらしいけどそんな実装の詳細知らないし、いきなりエラーとか言われても・・・。とにかく、きっと brew update 自体は何かうまくいかなかったのだろう。

そして、気が付いたら gawk 自体のインストールは終わっていたのだが、

==> `brew cleanup` has not been run in 30 days, running now...
Removing: ...

でまことにありがたいクリーンナップが走り、

==> Upgrading 18 dependents:
gcc 9.3.0_1 -> 10.2.0_4, gnutls 3.6.13_2 -> 3.6.15, isl 0.22.1 -> 0.23, libmpc 1.1.0 -> 1.2.1, nettle 3.6 -> 3.7.2, python@3.8 3.8.3 -> 3.8.8_1, cairo 1.16.0_3 -> 1.16.0_5, ffmpeg 4.2.3 -> 4.3.2_4, glib 2.64.3 -> 2.68.0, graphviz 2.44.0 -> 2.47.0, gtk-doc 1.32_1 -> 1.32_2, harfbuzz 2.6.6 -> 2.8.0, libass 0.14.0_1 -> 0.15.0, sqlite 3.31.1 -> 3.35.3, libxml2 2.9.10_1 -> 2.9.10_2, pango 1.44.7 -> 1.48.4, python@3.9 3.9.2_4, x264 r2999 -> r3048

でありがたいアップデートのお知らせが・・・。恐らく brew upgrade 相当の処理が自動で走っているのだろう。いつまでも終わらないので寝ちゃったけど、そこから 7 時間くらいはかかってて全部は終わってなくて、最後に

==> ./b2 --prefix=/usr/local/Cellar/boost/1.75.0_2 --libdir=/usr/local/Cellar/boost/1.75.0_2/lib -

とか見えて、もう遠い目になって今はいいやと・・・

^C
One sec, cleaning up...

うーん。概算の時間とか教えてほしい。そして今実行するか?と・・・。~/.bashrc に「export HOMEBREW_NO_AUTO_UPDATE=1」を書いたほうが幸せだろうか・・・。

一応安全に Command+C できるようなのだが Cancelling brew update can be catastrophic. · Issue #19460 · Homebrew/legacy-homebrew · GitHub とかを見るとちょっと怖くなる・・・。一応対策っぽいのが commit されてるようだし?大丈夫なのかな・・・?

定期的に

brew upgrade

とかしとかないと色々とひどいな・・・。