目次
brewをupgradeしてしまって過去使っていたパッケージが見つからなくなってしまった
よくあるMacあるあるだけど、OSをアップデートした際にローカル環境が破壊されてしまった。。
普段あまりbrewを使う機会がないので、過去のバージョンのパッケージをインストールするのに、結構時間が取られてしまったので、メモで残しておきたいと思います。
HomeBrewのレポジトリから過去のバージョンを探す
- githubのレポジトリから自分の入れたいパッケージの過去のバージョンを探す
- https://github.com/Homebrew/homebrew-core
- コミットのハッシュ値で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とか使って開発したほうが良さそうですね。。