RubyGems 自体を削除したい


Ruby 環境を再構築するため、 RubyGems それ自体を一度削除したいのですが、どのようにすればいいでしょうか？

RubyGems は `git clone` で取得し、ローカルリポジトリは残っています。

環境: Mac OS X Yosemite 10.10.1

[code]

    $ which gem
    /usr/bin/gem
    
    $ gem -v
    2.4.5
    
    $ ruby -v
    ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
    
    $ cd /Library/Ruby/Gems/2.0.0;ls
    build_info  doc     gems
    cache       extensions  specifications
    
[/code]

* * *

コメントありがとうございます。入りきらないので編集します。

以下のようになっています。

[code]

    $ ruby -e 'puts $:'
    /Library/Ruby/Site/2.0.0
    /Library/Ruby/Site/2.0.0/x86_64-darwin14
    /Library/Ruby/Site/2.0.0/universal-darwin14
    /Library/Ruby/Site
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin14
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin14
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin14
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin14
    
[/code]




RubyGems だけを消す、というのは面白いので、ここにまとめます。

## RubyGems をシステムから取り除く手順

  1. 環境の調査
  2. RubyGems ライブラリ本体を取り除く
  3. gem パッケージを取り除く
  4. gem コマンドを取り除く

### 1. 環境の調査

以下の2つのコマンドで最初に概観をつかんでおきます。  
( **RubyGems を消す前に、必ず行ってください。** )

[code]

    $ ruby -e 'puts $:'
    /Library/Ruby/Site/2.0.0
    /Library/Ruby/Site/2.0.0/x86_64-darwin14
    /Library/Ruby/Site/2.0.0/universal-darwin14
    /Library/Ruby/Site
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin14
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin14
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin14
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin14
    
    $ gem env
    ...
      - GEM PATHS:
         - /Library/Ruby/Gems/2.0.0
         - /Users/MY_USER_NAME/.gem/ruby/2.0.0
         - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
     ...
    
[/code]

### 2. RubyGems ライブラリ本体を取り除く

  * gemconfigure.rb
  * gauntlet_rubygem.rc
  * rubygems.rb
  * ubygems.rb
  * rubygems

があれば、site ディレクトリから取り除きます。

[code]

    $ cd /Library/Ruby/Site/2.0.0
    $ ls -la
    total 80
    drwxr-xr-x   7 root  wheel    238  2 17  2014 .
    drwxr-xr-x   4 root  wheel    136 11  4  2013 ..
    -rw-r--r--   1 root  wheel   1425  2 17  2014 gauntlet_rubygems.rb
    drwxr-xr-x  70 root  wheel   2380  2 17  2014 rubygems
    -rw-r--r--   1 root  wheel  31694  2 17  2014 rubygems.rb
    -rw-r--r--   1 root  wheel    268  2 17  2014 ubygems.rb
    drwxr-xr-x   2 root  wheel     68  8 25  2013 universal-darwin13
    
    $ rm -r gauntlet_rubygems.rb rubygems.rb ubygems.rb rubygems
    
[/code]

※ ディレクトリは、 Linux であれば `/usr/lib/ruby/site_ruby/1.9.1`などとなっているでしょう。

### 3. gem パッケージ等を取り除く

今回 `gem uninstall` コマンドを **使わない** でもいいので、 gems
パッケージの入っているディレクトリを直接削除しましょう。一番楽しい所です。まず、 `gem env` で得られた、 `GEM PATHS` の項目を見ます。

[code]

      - GEM PATHS:
         - /Library/Ruby/Gems/2.0.0
         - /Users/MY_USER_NAME/.gem/ruby/2.0.0
         - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
    
[/code]

次に、一応、中身になにが入っているかを見てから消してゆきます。 （何があっても消しますが）

[code]

    $ ls -la /Library/Ruby/Gems/2.0.0
    $ rm -r /Library/Ruby/Gems/2.0.0
    
    $ ls -la /Users/MY_USER_NAME/.gem/ruby/2.0.0
    $ rm -r /Users/MY_USER_NAME/.gem/ruby/2.0.0
    
    $ ls -la /Users/MY_USER_NAME/.gem/ruby/2.0.0
    $ rm -r /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.
    
[/code]

ちなみに Linux 環境だと以下のようになるでしょう

[code]

    $ ls -la /home/higon/.gem/ruby/1.9.1
    $ rm -r /home/higon/.gem/ruby/1.9.1
    
    $ ls -la /usr/share/rubygems-integration/1.9.1
    $ rm -r /usr/share/rubygems-integration/1.9.1
    
[/code]

※ `.gems` や `gems` ディレクトリが空になったならば、消しても良いです。

### 4. gem コマンドを取り除く

gem コマンドの調査

[code]

    $ which gem
    /usr/bin/gem
    
    $ ls -la /usr/bin/gem*
    -r-xr-xr-x  1 root  wheel  596  6 12  2014 /usr/bin/gem
    
[/code]

シンボリックリンクで、 gem1.8 とか gem1.9.1 にリンクされていることもありますので、このような確認が必要です。(windows
環境であれば、 `gems.bat` も取り除いてください。)

gem コマンドの削除

[code]

    $ rm -r /usr/bin/gem
    
[/code]

参考:
[rubygems/Rakefile](https://github.com/rubygems/rubygems/blob/master/Rakefile)




ruby環境を再構築されたい理由が分かりかねますが、現在もrubyが動作する状態なのであれば、rubyの環境構築は[rbenv](https://github.com/sstephenson/rbenv)を利用されたほうが便利です。

rbenvを使うと1台のMacに複数のバージョンのRubyをインストールして切り替えながら使えるようになりますし、この仕組みでインストールされたRuby環境であればインストール／アンインストールが手軽にでき、Macにもともと入っているRubyをアップデートしたりする必要はほとんどなくなるでしょう。

rbenvはhomebrewを使ってインストールするのが一番簡単です。  
こちらの記事が参考になるかと思います。

<http://dev.classmethod.jp/server-side/language/build-ruby-environment-by-
rbenv/>

