web-dev-qa-db-ja.com

Ruby gemsの古いバージョンをアンインストールする

私はRuby gemのいくつかのバージョンを持っています。

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

古いバージョンを削除して最新のものを保持する方法を教えてください。

344
Philippe Blayo
# remove all old versions of the gem
gem cleanup rjb

# choose which ones you want to remove
gem uninstall rjb

# remove version 1.1.9 only
gem uninstall rjb --version 1.1.9

# remove all versions less than 1.3.4
gem uninstall rjb --version '<1.3.4'
596
Dylan Markow

allインストールされているgemの古いバージョンを削除するには、次の2つのコマンドが便利です。

 gem cleanup --dryrun

上のコマンドはどの宝石が取り除かれるのかをプレビューします。

 gem cleanup

上記のコマンドは実際にそれらを削除します。

237
ohho

gem uninstall rjb --version 1.3.4のようなものを試してください。

12
Daniel O'Hara

宝石の古いバージョンを一掃する方法。

Sudo gem cleanup

削除するものの一覧を見たいだけの場合は、次のようにします。

Sudo gem cleanup -d

名前を指定して特定のgemだけをクリーンアップすることもできます。

Sudo gem cleanup gemname

1.1.9のような特定のバージョンのみを削除する

gem uninstall gemname --version 1.1.9

まだgemをインストールするためのいくつかの例外に直面しているのであれば:

無効なgem:パッケージが壊れています。検証中の例外:/home/Rails/.rvm/gems/Ruby-2.1.1@project/cache/nokogiri-1.6.6.2のnil:NilClass(NoMethodError)に対する未定義のメソッド `size '。宝石

キャッシュから削除することができます。

rm /home/Rails/.rvm/gems/Ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem

詳しくは:

http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html

9
user3118220

gem cleanupはシステムコマンドを使用します。インストールされたgemはファイルシステム内の単なるディレクトリです。一括削除したい場合はrm -Rを使用してください。

  1. gem environmentGEM PATHSの値を書き留めます。
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R
9
Anatoly

クリーンアップを機能させるにはGEM_HOMEを設定する必要があるかもしれません。次のコマンドを実行して、gemfilesにどのようなパスが存在するかを確認できます。

gem env

GEM PATHSセクションに注意してください。

私の場合は、たとえば、私のユーザーの自宅にgemがインストールされているとします。

export GEM_HOME="~/.gem/Ruby/2.4.0"
gem cleanup
0
lkraider