死ぬことのないルビーの宝石を取り除く
-
05-07-2019 - |
質問
消えないルビーの宝石がいくつかあります。
それらをインストールしたときに関係があると思います。時々、<!> quot; sudo <!> quot;を使用するのを忘れてしまいました。 gemをインストールする前に書き込みエラーが発生し、収集できるものから、gemのコピーを実行できる場所ではなく、ユーザーディレクトリに配置します。ただし、gemのアンインストールは機能しません。 「gem list」に継続的に表示されますが、gem uninstallまたはsudo gem uninstallからアンインストールすることはできません。 「gem環境」でパスを見つけた後、1つのgemを直接削除しようとしましたが、それでもgemがリストに残りました。
また、すべての宝石を削除してゼロから始めることも可能ですか?これらは私を夢中にさせています。
OS Xを実行しています。
解決
gem clean
(またはsudo gem clean
)が機能しないと仮定して、次のようにしてシステムからすべてのgemを完全に削除します。
次のコマンドを実行すると、gemがインストールされている場所を確認できます。
gem env paths
システム上のすべてのgemを削除するには、このコマンドによって返されたフォルダーを削除するだけです。
さらに、OSX Leopardでは、デフォルトのgemがこのフォルダーにインストールされます:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
このフォルダがシステムに存在する場合、以前と同様にこのフォルダを削除して、すべてのgemが削除されるようにします。
他のヒント
次の手順を実行して、インストールされているgemを削除することもできます。
gem list -d [gem name]
gem uninstall --install-dir [install directory] [gem name]
前述のことがうまくいかない場合は、今日自分でやらなければなりませんでした。
同様の問題がありましたが、根本的な問題は、何らかの不明な理由で残っているgemspecsであることが判明しました。
すべてのgemをアンインストールしたと思った後:
matt$ gem1.9 list
*** LOCAL GEMS ***
minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)
ここに宝石はありません:
matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/gems/
total 0
drwxr-xr-x 2 root admin 68 Jul 23 14:54 .
drwxr-xr-x 8 root admin 272 Mar 3 14:56 ..
そこにあります!
matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/specifications/
total 24
drwxr-xr-x 5 root admin 170 Jul 23 14:54 .
drwxr-xr-x 8 root admin 272 Mar 3 14:56 ..
-rw-r--r-- 2 root admin 129 Nov 1 2010 minitest.gemspec
-rw-r--r-- 2 root admin 121 Nov 1 2010 rake.gemspec
-rw-r--r-- 2 root admin 121 Nov 1 2010 rdoc.gemspec
gemspecsを削除します:
matt$ sudo rm /opt/local/lib/ruby1.9/gems/1.9.1/specifications/*
そして今、宝石はなくなっています:
matt$ gem1.9 list
*** LOCAL GEMS ***
gemのバージョンが複数ある場合は、まずクリーンアップを実行してから、最終的なgemを削除する必要があります。
gem cleanup <gemname>
gem uninstall <gemname> --version
死ぬことのない宝石があり、<!> quot; nuke everything <!> quot;コマンドgem uninstall -aIx
ですべてのgemを削除してルーティングします。それからgem install <gemname>
と私はバックアップして実行していました。
Ruby gemのバージョンを更新します gem update --system うまくいけば gemアンインストールxxx すぐに動作します[古いバージョンではバグでした]
RVM をチェックすると、ユーザーではなくユーザーの下でルビー環境を完全に管理できます。システムディレクトリ。 Rubyのバージョンとそれを使用するgemを管理する方がはるかに簡単であることがわかりました。