Homebrew 3.0.0
- 3.0.0 — Homebrew
- Homebrew 3.0.0へのメジャーアップデートはM1 Macへの対応。
- その他色々とコマンドが削除されたり整理されたり。
MacのCPU変更でかなり色々なソフトウェアが影響を受けましたがHomebrewもM1に対応したタイミングでメジャーアップデートとしました。
2.X.Xの最後の方に結構大幅な変更が入っていたので、まだIntelなMacを使ってる人にとっては このメジャーアップデート自体は余り大きな影響はありませんでしたが これでM1 Macに移ることができる、という人も居たかと思います。
3.1.0以降のアップデート
以下、3.1.0から3.6.0まで個人的に気になったアプデートなど。
Homebrew 3.1.0
- 3.1.0 — Homebrew
- 特になし。
Homebrew 3.2.0
- 3.2.0 — Homebrew
brew install XXX
がインストール済の古いパッケージに対して行われた場合、エラーを返すのではなくbrew upgrade XXXX
を行うように。- macOS 12 (Monterey)のサポート開始。
Homebrew 3.3.0
- 3.3.0 — Homebrew
- FormulaレポジトリのLinux用linuxbrew-coreをMac用linuxbrew-coreに統合: ユーザー側では
brew update
を行えば自動的にFormulaのレポジトリが変更される。 - APIを使ったFormulaの読み込みがスタート
HOMEBREW_INSTALL_FROM_API=1
を設定しておくとローカルにあるレポジトリではなくAPIを参照するようになる。
brew search
がfuzzy searchに対応(似たようなものを探して表示してくれる)。
- FormulaレポジトリのLinux用linuxbrew-coreをMac用linuxbrew-coreに統合: ユーザー側では
Homebrew 3.4.0
- 3.4.0 — Homebrew
brew services
によるLinuxでのsystemd
のサポート。brew install
に--overwrite
オプションの追加(リンクの上書き)。brew deps
に--graph
および--graph --dot
オプションの追加。- パッケージの依存性を図示化してくれる。
--dot
を与えるとターミナル上に、与えないとブラウザを開いて図示化する。
- パッケージの依存性を図示化してくれる。
Homebrew 3.5.0
- 3.5.0 — Homebrew
brew update
時の表示の変更(高速化)。- Yosemite (10.10)のサポートの終了。
brew upgrade
ではversion: latest
が指定されているCaskのみをアップグレードするように変更。- それ以外も行いたい場合は
--greedy
もしくは--greedy-latest
を渡す。
- それ以外も行いたい場合は
Homebrew 3.6.0
- 3.6.0 — Homebrew
- macOS 13 (Venture)のサポート(preliminary)。
- ローカル環境の
glibc
やgcc
が(あまりに)古い場合brew install
が自動でそれらをインストールするように。
特に気になる点
見逃していた点として、APIの提供の開始がありました。
Linuxbrew-coreが統合されたこともあるのか、Formulaのレポジトリが巨大化してきており、これをローカルにgit clone
して管理しているわけですが、これが結構コストがかかるのでは、ということ。
3.3.0でオプトイン形式で使えるようになったものですが、3.6.0のリリースポストにも色々と改善があったからぜひ使ってフィードバックしてくれ、とのことが書かれてるので使ってみようと思ってます。
あと、brew install --overwrite <package>
が出来るようになったのは結構嬉しいところで、何度かインストール作業しているとlibとかの中で競合するものがあったり、バージョン違いのFormulaなどで新しいものを入れる時に古いのをちゃんと消さないと最後にリンクがされないままになって、
気づかず古いのを使っていたり。
これを治すのに改めてbrew link --force <package>
とかしないといけなかったのですが、今後は--overwrite
を付けておけば良いことになります。
一方で競合するようなものはそもそも問題を起こす可能性があるので知らないうちは付けずに確認した方が良いかもしれません。
brew service
はMacでもちょっと試しただけで結局使ってないのですが、
Linuxでsystemd
が使えるようになったということで、ちょっとした環境のセットアップとかで使ってみたいかも、とは。
最後のglibc
、gcc
が古い場合に自動でインストールする、という点ですが、
場合によっては動作が変わる可能性もあるので、インストール状況とLD_LIBRARY_PATH
とかの値をきちんと確かめておいた方が良いです。
deps
の出力の部分とか、いくつかhomebrew-fileに入れて改善できそうな部分もあるのでおいおい。