1. HOME
  2. ブログ
  3. IT技術
  4. Homebrewで過去バージョンのパッケージをインストールする手順

Homebrewで過去バージョンのパッケージをインストールする手順

導入

Javaのバージョンを下げて入れ直そうとしたところ、Homebrewだとそのままではできません。
というのも、Homebrewのスタンスとして brew install は最新バージョンのパッケージをインストールするためです。

最終的には過去バージョンをインストールできたので、今回はその紹介になります。

Homebrewについて

Homebrewは独自の概念(登場人物)があるため、簡単に整理します。

Formula (調理法)

・パッケージの情報が定義されたファイル

・このファイルを読み込んでローカルにビルドする

Tap (蛇口)

・パッケージの元(リポジトリ)と紐づける操作およびディレクトリ

・デフォルトではGitHub上にある「Homebrew/homebrew-core」というリポジトリがTapされている(=指定不要)

・独自・外部のリポジトリに対してTapすることもできる

Cellar (貯蔵庫)

・ローカルにある、brewコマンド経由でインストールしたパッケージ群の保管場所(の大元)

Rack (ラック)

・パッケージ単位で用意されるディレクトリ(=パッケージ名)

Keg (小樽)

・パッケージのバージョン毎に用意されるディレクトリ

・内部には実行可能ファイルやライブラリ本体が置かれる

・/usr/local/binなどからシンボリックリンクが貼られる(別途リンク作成、PATH通し必要なこともあり)

リポジトリにある調理方法が書かれたファイル(Formula)を取得するための窓口(Tap)を取り付け、インストールを実行して入れ物に格納&棚に整理するイメージです。

Homebrewで過去バージョンをインストール

Homebrewの概要を整理したので、早速実践していきます。(以降では、Homebrewは/usr/localにインストールされているものとします。)

1.ローカルにあるFormulaファイルが置かれている場所に移動する

2.コミットログを調べ、インストールしたいバージョンのコミットIDを把握する

今回は3511bcd192f openjdk@11 11.0.16.1をインストール対象とする。

3.そのコミットにHEADを移す

※作業後元のブランチに戻しておきましょう。

4.該当パッケージをインストール

ここでインストールが成功すれば完了です。(PATHを通す、リンクを貼るなどは今回の対象外とします。)

インストール時にエラーが出た場合

4.のインストール時にこのようなエラーがでる場合があります。
その場合は brew tap を使って、公式以外のリポジトリからインストールするようにする。

外部リポジトリを作成&tap接続

この操作で、ローカルの適当に名付けたディレクトリを作成&そのディレクトリをhomebrewがソース元として認識

インストールしたいパッケージ(バージョン指定で)を作成したtapに持ってくる

指定したバージョンのパッケージをインストールする

書いた人はこんな人

たけちゃん(エンジニア)
たけちゃん(エンジニア)
2022年7月に入社しました。開発未経験で未知の領域だらけですが、楽しく学びつつ、早く戦力になれるようにがんばります!

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア