37

在 RVM gemset 中寻找类似的东西gem list,但让它忽略全局默认gemsets 中的 gems,这样我就可以轻松地看到活动 gemsets 中的 gems(并且只有活动 gemsets)。

4

3 回答 3

67

对于全球:

rvm @global do gem list

对于其他宝石:

GEM_PATH=$GEM_HOME gem list

@global是所有其他 gemset 为给定 ruby​​ 继承的 gemset,它不会为 m 本身继承,因此选择它并gem list在它的上下文中运行是安全的。

对于所有其他 gemset,您可以使用显示来自andgem list中所有可用路径的 gem的事实,重置为相等将仅使一个路径可用 - so中的一个将仅显示所选 gemset 中的 gem,忽略所有其他 gemset(在此时间,但 RVM 2.0 将支持多个 gemsets 继承)。GEM_HOMEGEM_PATHGEM_PATHGEM_HOMEGEM_HOMEgem list@global

于 2012-09-06T19:50:01.747 回答
27

最简单的方法是使用 bash 命令显示当前 gemset 目录中的目录列表

$ ls `rvm gemdir`/gems
于 2012-09-06T19:47:34.737 回答
4

首先,无论何时选择任何其他 gemset,默认(无名)gemset 的内容都会变得不可见。

如您所知,@global gemset 通常包含在当前所选 Ruby 的所有其他 gemset 中。

但是,要查看 gemset 的内容,不包括 @global gemset,首先 do rvm use 2.0.0@some-gemset --ignore-gemsets(或类似的其他红宝石) then gem list

同样要查看 @global gemset 的内容,首先执行rvm use 2.0.0@globalthen gem list

同样,要查看默认 gemset 的内容,请执行rvm use 2.0.0 --ignore-gemsetsthen gem list

顺便说一句,您可以选择一个 gemset作为新(非登录)shell的(所谓的)默认值.bash_profile(我总是在等中为每个 Ruby 解释器分别这样做),但这是另一种默认 gemset,不是上面的(未命名的)默认 gemset。

于 2013-06-06T17:19:52.683 回答