パッケージマネージャ「Homebrew 4.0」正式リリース、より高速に。Git cloneからJSONによるパッケージ管理へ切り替え
今回は「パッケージマネージャ「Homebrew 4.0」正式リリース、より高速に。Git cloneからJSONによるパッケージ管理へ切り替え」についてご紹介します。
関連ワード (分析、向上、説明等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
MacやLinuxに対応するパッケージマネージャ「Homebrew」の最新版となる「Homebrew 4.0」正式版がリリースされました。
下記は開発者であるMike McQuaid氏のツイートです。バージョン3.6以来最大の変更が行われ、Tapと呼ばれるサードパーティアプリをインストールするためのスクリプト管理がJSONベースになり、大幅に高速化されたと紹介しています。
Today I'm proud to announce the release of Homebrew 4.0.0.
The most significant change since 3.6.0 enables significantly faster Homebrew-maintained tap updates by migrating from Git-cloned taps to JSON downloads.https://t.co/pMCUyLYLbk
— Mike McQuaid (@MikeMcQuaid) February 16, 2023
Git-cloneの重い処理からJSONのダウンロードに変更
Homebrew 4.0では以下の大きな変更が行われています。Homebrew 4.0のリリースノート「4.0.0 — Homebrew」から該当部分を引用します。
Using JSON files downloaded from formulae.brew.sh for package installation rather than local homebrew/core and homebrew/cask taps.
パッケージのインストールの際に、ローカルのhomebrew/coreとhomebrew/casのtapを使うのではなく、formulae.brew.shからJSONファイルをダウンロードするようにした。
これまでのHomebrewは、パッケージをインストールするためのスクリプトを、GitHub上のリポジトリである「Homebrew/homebrew-core」と「Homebrew/homebrew-cask」の内容をGit cloneによってローカルにクローンして利用していました。
しかしGit cloneの処理は比較的重い処理であり、また、ローカルのストレージを消費することにもなっていました。
そこで今回リリースされたHomebrew 4.0では、Git cloneではなく「formulae.brew.sh」からJSONファイルをダウンロードし、それを利用する方法に切り替えました。
これにより処理が軽くなり、ローカルファイルも不要になりました。上記の2つのディレクトリは、自身がインストールスクリプトであるformulaeの作者でなければ削除しても問題ないとされています。
ただしGit cloneからJSONへの変更は影響が大きいため、まだ多少のバグが残っている可能性があると注意書きがついています。
Please note: this is the largest change we have made to our update process since we split Homebrew/brew and Homebrew/homebrew-core repositories. Please bear with us, there may be a few bumps.
注意: これはHomebrew/brewとHomebrew/homebrew-coreリポジトリを分割して以来、私たちがアップデートの過程で行った最大の変更点です。多少のバグがあるかもしれませんが、ご容赦ください。
90日以内にGoogle Analyticsでの分析を廃止
もう1つの大きな変更点が、利用状況の分析に使っていたGoogle Analyticsの廃止です。
Homebrew 4.0では、Google Analyticsに加えてHomebrew開発チームがEU域内でホストするオープンソースの時系列データベースであるInfluxDBにもデータを送信するようになりました。
今後はInfluxDBで利用状況分析が行われ、Google Analyticsでの分析は90日以内に終了するとのことです。
これにより情報が米国に送られることを好まないユーザーなどに対してプライバシーが向上したと説明されています。