【port / MacPorts】古いバージョンのパッケージをインストールする方法

いつも大変便利に使わせてもらっているMac OS Xのパッケージ管理システム port ですが、旧バージョンのパッケージをインストールしようとして若干ハマったので解決方法をメモしておきます。

やりたかったこと

Ruby1.8.7-p174 がインストールされているマシンに Ruby1.8.7-p72 を追加して、必要に応じてバージョンを切り替えたい。

$ port installed ruby
The following ports are currently installed:
  ruby @1.8.7-p174_0+thread_hooks (active)

失敗した方法

通常の install コマンドにバージョン指定を加えて実行してみましたが、うまくいきません。

$ sudo port install ruby @1.8.7-p72
→失敗

うまくいった方法

よくよく調べてみると、公式サイトにやり方がのってました

  1. 欲しいパッケージのリビジョン番号を調べて
  2. そのリビジョンのPortFileを手動でダウンロード
  3. で、インストール

なるほど簡単ですね。早速リポジトリブラウザを開いて lang > ruby と辿り、画面右上の Revision Log からリビジョン番号を突き止めます。(ちなみに今回は 48382 でした。)
リビジョン番号さえ判明すればあとは簡単。subversionでファイルをダウンロードして、インストールするだけです。

$ cd ~/Downloads
$ # リビジョン指定でcheckout
$ svn co -r 48382 http://svn.macports.org/repository/macports/trunk/dports/lang/ruby ruby1.8.7-p72_3
$ cd ruby1.8.7-p72_3
$ # インストール済みの Ruby を無効化しておく
$ port deactivate ruby
$ port install

これでお目当てのバージョンをインストールすることができました。ホッ。
ポートのバージョン指定でお困りの方は参考にしてみてください。


この記事について