web-dev-qa-db-ja.com

RVM:グローバルおよびデフォルトを無視して、現在のgemset内のすべてのgemをリストします

RVM gemset内でgem listのようなものを探しますが、globalおよびdefault gemsetsのgemを無視するため、gemが何であるかを簡単に確認できますアクティブな宝石セット(およびonlyアクティブな宝石セット)。

33
Meltemi

グローバル向け:

_rvm @global do gem list
_

他の宝石セットの場合:

_GEM_PATH=$GEM_HOME gem list
_

_@global_は、特定のRubyに対して他のすべてのgemsetが継承するgemsetであり、m自体に対しては継承しないため、選択して、そのコンテキストで_gem list_を実行しても安全です。

他のすべてのgemsetについては、_gem list_が_GEM_HOME_および_GEM_PATH_で利用可能なすべてのパスからgemを表示するという事実を使用できます。_GEM_PATH_をリセットすると_GEM_HOME_が等しくなります使用可能なパスは1つのみです。_GEM_HOME_からのパスなので、_gem list_は選択したgemsetのgemのみを表示し、他のすべてのgemsetを無視します(現時点では_@global_ですが、RVM 2.0は複数のgemsetをサポートします継承)。

60
mpapis

最も簡単な方法は、現在のgemsetディレクトリ内のディレクトリのリストを表示するbashコマンドを使用することです

$ ls `rvm gemdir`/gems
23
Nick Kugaevsky

まず、他のgemsetが選択されるたびに、デフォルト(名前なし)gemsetのコンテンツが非表示になります。

ご存知のように、事実上、@ global gemsetは、現在選択されている他のすべてのgemsetの included Ruby通常。

ただし、@ global gemsetを除くgemsetの内容を表示するには、最初にrvm use 2.0.0@some-gemset --ignore-gemsets(または 類似 他のルビーの場合)gem list

同様に、@ global gemsetの内容を表示するには、最初にrvm use 2.0.0@globalその後gem list

同様に、デフォルトのgemsetの内容を表示するには、rvm use 2.0.0 --ignore-gemsetsその後gem list

ところで、gemsetを選択して、(いわゆる) default の新しい(ログインしていない)シェルを選択できます(そして、私は常に.bash_profileなど。Rubyインタープリター)ごとに別々ですが、これは別の種類のデフォルトgemsetであり、上記の(名前のない)デフォルトgemsetではありません。

4
MarkDBlackwell