MacPortsでRubyバージョンアップでエラー

ただ今の環境
Mac OS X 10.5.8
Ruby 1.9.2



こちらを参考にさせていただきました。
Mac Portsの使い方メモ
MacPortsでPerl5が競合したときの対処
ありがとうございます。



Rubyのバージョンが1.9.2だったこともあり、1.9.3へアップすることに。
今回のバージョンアップでエラーが出たので忘備録です。

まずはport searchで調べたらruby19で良いみたいなので、19なしでインストールを試みました。

$ sudo port install ruby19 +nosuffix

Error: Target org.macports.activate returned: Image error: /opt/local/lib/ruby1.9/gems/1.9.1/gems/rake-0.9.2.2/bin/rake already exists and does not belong to a registered port. Unable to activate port ruby19. Use 'port -f activate ruby19' to force the activation.

よく分からないですが、アクティベートに失敗しているのでしょうか。
こういう時は
アンインストールして再インストールすれば良いみたいです。

$ sudo port uninstall ruby

      • > The following versions of ruby are currently installed:
      • > ruby @1.8.7-p302_0+thread_hooks
      • > ruby @1.8.7-p352_1+thread_hooks
      • > ruby @1.8.7-p352_2+thread_hooks
      • > ruby @1.8.7-p358_0+thread_hooks (active)

Error: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry.

エラーが出ました。
フルバージョンで・・・と言う事みたいなので

$ sudo port -f uninstall ruby \@1.8.7-p302_0+thread_hooks
$ sudo port -f uninstall ruby \@1.8.7-p352_1+thread_hooks
$ sudo port -f uninstall ruby \@1.8.7-p352_2+thread_hooks
$ sudo port -f uninstall ruby \@1.8.7-p358_0+thread_hooks

(\は半角のバックスラッシュに置き換え)


再度インストール。

$ sudo port install ruby19 +nosuffix

Error: Target org.macports.activate returned: Image error: /opt/local/lib/ruby1.9/gems/1.9.1/gems/rake-0.9.2.2/bin/rake already exists and does not belong to a registered port. Unable to activate port ruby19. Use 'port -f activate ruby19' to force the activation.

同じエラーが出ましたが、ここでメッセージ通りに

$ sudo port -f activate ruby19

Warningが出ましたが、

      • > Cleaning ruby19

アクティベートに成功したようです。
再々度インストール。

$ sudo port install ruby19 +nosuffix

      • > Computing dependencies for ruby19
      • > Cleaning ruby19

$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [i386-darwin9]

バージョンアップ完了しました。