一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

rubygemsをアンインストールしようとしたら(Gem::InstallError)とか出てアンインストールできない

 まっさらなHDDにSnowLeopardをインストールして、gems listでgemsを見てみたら何故か色々なgemsがインストール済みだったのでアンインストールしようと思い、とりあえずrailsを消してみようとコマンドを入力すると・・・

$ sudo gem uninstall rails
ERROR:  While executing gem ... (Gem::InstallError)
    cannot uninstall, check `gem list -d rails`

 なんだこれ。とりあえず言われた通りにやってみる。

$  gem list -d rails

*** LOCAL GEMS ***

rails (2.3.5, 2.2.2, 1.2.6)
    Author: David Heinemeier Hansson
    Rubyforge: http://rubyforge.org/projects/rails
    Homepage: http://www.rubyonrails.org
    Installed at (2.3.5): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
                 (2.2.2): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
                 (1.2.6): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

    Service layer for easy email delivery and testing.

 /System/Library・・の中にインストールされてて消せないみたいです。調べたところ、以下のようにgemsがインストールされているパスを指定すれば消せることがわかりました。

$ sudo gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Select gem to uninstall:
 1. rails-1.2.6
 2. rails-2.2.2
 3. rails-2.3.5
 4. All versions
> 4
Successfully uninstalled rails-1.2.6
Successfully uninstalled rails-2.2.2
Successfully uninstalled rails-2.3.5

 一安心です。しかしなんなんでしょうかこれは。

追記

ブクマコメントで指摘してもらったのだが(ありがとうございます)、デフォルトのgemとMacPortsrubyを組み合わせて使ってるのがいけなかったっぽい。 そりゃそうか。

というわけで、MacPortsrubyを入れる人は、rb-rubygemsも忘れずにインストールしよう。

 悩んでた理由は違うけど状況は同じですね。つまりはこういうことみたいです。今までの時間が・・。