MacPortsでruby 1.8.6を入れる。
会社で新しいMacBook Proを支給してもらったので、10年ぶりくらいにMacを使い始めました。まだ試行錯誤中。今日はMacPortsでRubyをインストールするのに苦労しました。そのメモです。
現時点でのMacPortsのRubyのバージョンは1.8.7。1.8.7だと古いRailsがちゃんと動きません。Railsのサイトでも1.8.6がオススメされてます。
We recommend Ruby 1.8.6 for use with Rails.
Ruby on Rails: Download
...
Ruby 1.8.7 still has some bugs to straighten out.
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