brewで過去の特定バージョンのパッケージをインストールする方法

homebrew

brewをupgradeしてしまって過去使っていたパッケージが見つからなくなってしまった

よくあるMacあるあるだけど、OSをアップデートした際にローカル環境が破壊されてしまった。。

普段あまりbrewを使う機会がないので、過去のバージョンのパッケージをインストールするのに、結構時間が取られてしまったので、メモで残しておきたいと思います。

HomeBrewのレポジトリから過去のバージョンを探す

  • githubのレポジトリから自分の入れたいパッケージの過去のバージョンを探す
  • コミットのハッシュ値でURLを指定してインストールする
    • brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/[ハッシュ値]/Formula/[パッケージ名].rb –ignore-dependencies
    • ignore-dependenciesオプションは、関連パッケージが自動的にアップデートされてしまったりするので、付けておいた方が無難そう
  • brew unlink [パッケージ名] && brew link [パッケージ名]

[追記] Use ‘brew extract [パッケージ名] to stable tap on GitHub instead.というエラーが出た

別環境で上記のやり方を試していたところ、以下のようなエラーが出てインストール出来なくなってしまいました。

Error: Calling Installation of [パッケージ名] from a GitHub commit URL is disabled! Use ‘brew extract [パッケージ名]’ to stable tap on GitHub instead.

そこで、このエラーが出た場合には、実際にhomebrew-coreをcloneしてきたものを実行することで、無事にインストール出来ました。具体的にはこんな感じです。

  • git clone https://github.com/Homebrew/homebrew-core.git
  • 自分が使いたいバージョンがコミットされたgithubのハッシュ値を探し、checkoutする
  • brew install Formula/[パッケージ名].rb –ignore-dependencies

どちらかのやり方で、上手くいくんじゃないかなと思います。

最後に

上記で、過去バージョンのパッケージを入れることが出来ました。
やっぱりMacはローカル環境壊れがちなので、マシンスペック上がったら、いい加減Dockerとか使って開発したほうが良さそうですね。。

コメントを残す