「
ruby gem uninstall 消えない」でググってみたところ、以下のページを見つけた。
うちはエラー出てないんだけど、とりあえず、list -d <gem name> と uninstall <gem name> -i <install dir> を試してみたところ以下のように無事アンインストールできた。
$ gem list -d ruby-msg
*** LOCAL GEMS ***
ruby-msg (1.5.2)
Author: Charles Lowe
Homepage: http://code.google.com/p/ruby-msg
Installed at: /cygdrive/c/Users/kou/HOME/.gem/ruby/2.6.0
Ruby Msg library.
$ gem uninstall ruby-msg -i /cygdrive/c/Users/kou/HOME/.gem/ruby/2.6.0
Remove executables:
mapitool
in addition to the gem? [Yn] y
Removing mapitool
Successfully uninstalled ruby-msg-1.5.2
事後、そう言えば、--debug なんてオプションもあったのでは?と思い、再度 ruby-msg を入れて、試してみたところ、以下のように GOM_HOME 以下に install されてないぞというお叱りと uninstall -i <install dir> <gem name> を試しなさいという提案をもらえた。
$ gem uninstall ruby-msg --debug
NOTE: Debugging mode prints all exceptions even when rescued
Exception `Gem::InstallError' at /usr/share/rubygems/rubygems/uninstaller.rb:121 - ruby-msg is not installed in GEM_HOME, try:
gem uninstall -i /cygdrive/c/Users/kou/HOME/.gem/ruby/2.6.0 ruby-msg
内部的には Gem::InstallError の例外は飛んでるのに、なんで --debug なしだと表示されないの???
なお GEM_HOME は未設定な状態。
$ declare -p GEM_HOME
-bash: declare: GEM_HOME: 見つかりません
GEM_HOME の設定は list -d <gem name> で得られる場所や --debug の提案で uninstall -i に与えられてる場所を指定しておけば -i オプションじゃなくても uninstall は可能だった。
$ GEM_HOME=/cygdrive/c/Users/kou/HOME/.gem/ruby/2.6.0 gem uninstall ruby-msg
Remove executables:
mapitool
in addition to the gem? [Yn] y
Removing mapitool
Successfully uninstalled ruby-msg-1.5.2