0

たまたま走っrvm gemset empty defaultた。

手動で再インストールできるように、誰かが gemsetdefaultのすべての gem を一覧表示できますか?ruby-2.0.0-p247

ありがとう!

4

2 に答える 2

2

心配しないでください。すべての宝石を復元することは可能です:

#!/usr/bin/env bash

CURRENT_GEMSET=$( rvm current )
CACHE_FOLDER=~/.rvm/gems/$CURRENT_GEMSET/cache
CACHED_GEMS=$CACHE_FOLDER/*.gem

for gem_file in $CACHED_GEMS
do
  GEM_FILES=$GEM_FILES' '$gem_file
done

gem install $GEM_FILES

~/.rvm/gems/$( rvm current )/cache最初にフォルダを見てください。すべてgemの s がそこにあるはずです。

編集:

rvm gemset empty

インストールされているgemsetのすべてのgem を削除します。ただし、gem はまだ~/.rvm/gems/$( rvm current )/cacheフォルダ (例: ~/.rvm/gems/ruby-2.0.0-p247/cache~/.rvm/gems/jruby-1.7.3@my_gemset/cache) にあり、インストールすることはできます。

スクリプトに関するちょっとした説明:

  1. rvm current現在の Ruby のバージョンと、使用されている gemset の名前を ( からrvm usage current) 出力します。rvm gemset use復元する gemset を選択するために、最初に呼び出すことができます。
  2. ~/.rvm/gems/$( rvm current )/cacheは現在の gemset のキャッシュ フォルダーで、 と同じ$GEM_HOME/cacheです。
  3. ~/.rvm/gems/$( rvm current )/cache/*.gemキャッシュ フォルダー内の gem の正規表現です。
  4. ファイル名をループし、それらを単一の文字列に連結します

    for gem_file in $CACHED_GEMS
    do
      GEM_FILES=$gem_file' '$GEM_FILES
    done
    
  5. gem install $GEM_FILESgem を再インストールします。

于 2013-07-31T22:26:13.093 に答える