rcmdnk's blog

My Homebrew: A Recipe Journal and Notebook

Homebrewが3.6.0になりました。前回3.0.0が出てからあまり見てなかったので ちょっとこれまでのアップデートの確認。

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

Homebrew 3.2.0

  • [3.2.0 — Homebrew](https://brew.sh/2021/06/21/homebrew-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に対応(似たようなものを探して表示してくれる)。

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)。
    • ローカル環境のglibcgccが(あまりに)古い場合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が使えるようになったということで、ちょっとした環境のセットアップとかで使ってみたいかも、とは。

最後のglibcgccが古い場合に自動でインストールする、という点ですが、 場合によっては動作が変わる可能性もあるので、インストール状況とLD_LIBRARY_PATHとかの値をきちんと確かめておいた方が良いです。

depsの出力の部分とか、いくつかhomebrew-fileに入れて改善できそうな部分もあるのでおいおい。

Sponsored Links
Sponsored Links

« エコバックスのお掃除ロボット:ECOVACS DEEBOT X1 OMNIを購入した Pythonのdatetimeのstrptimeでは少数秒は左詰めで見てくれる »

}