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
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]
バージョンアップ完了しました。