MacPortsでruby 1.8.6を入れる。

会社で新しいMacBook Proを支給してもらったので、10年ぶりくらいにMacを使い始めました。まだ試行錯誤中。今日はMacPortsRubyをインストールするのに苦労しました。そのメモです。


現時点でのMacPortsRubyのバージョンは1.8.7。1.8.7だと古いRailsがちゃんと動きません。Railsのサイトでも1.8.6がオススメされてます。

We recommend Ruby 1.8.6 for use with Rails.
...
Ruby 1.8.7 still has some bugs to straighten out.

Ruby on Rails: Download

1.8.6に戻してほしいっていう要望が出ているようですが、まだ議論中。一度上げたバージョンを取り下げたりするかなあって気もします。

* MacPortsのRubyを1.8.6に戻すべきか?: きりかノート
* http://trac.macports.org/ticket/16861


ともあれ。

Subversionから取ってきた古いportをローカルに入れることで、1.8.6をインストールできました。以下の記事が参考になりました。

*



作業内容

$ mkdir /Users/Shared/dports
$ svn checkout -r 36429 http://svn.macports.org/repository/macports/trunk/dports/lang/ruby/ /Users/Shared/dports/lang/ruby/

rubyを古くするとgem(rb-rubygems)のインストールに失敗するようになったので、gemも古いのを取得。logで動きそうなリビジョンを探す。1.2.0の最後のリビジョン、r37986を使ってみる。現時点で最新の1コ前。

$ svn log http://svn.macports.org/repository/macports/trunk/dports/ruby/rb-rubygems/
$ svn checkout -r  37986 http://svn.macports.org/repository/macports/trunk/dports/ruby/rb-rubygems/ /Users/Shared/dports/ruby/rb-rubygems/

なんかインデックス生成。たぶん。

$ portindex /Users/Shared/dports

/opt/local/etc/macports/sources.conf のrsyncの行の上にローカルのportの場所を書く。

file:///Users/Shared/dports

以下は、まだ自分の環境には何も入ってないので、やらなくても大丈夫そうだった。

sudo port uninstall rb-rubygems ruby
sudo port clean rb-rubygems ruby
sudo rm -r /opt/local/lib/ruby/gems/1.8/doc/rubygems-1.1.1/
sudo port deactivate autoconf

インストール。

$ sudo port install ruby rb-rubygems