RVM:列出当前gemset中忽略全局&的所有宝石。默认

时间:2012-09-06 19:41:18

标签: rubygems gem rvm gemset

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

3 个答案:

答案 0 :(得分:58)

for global:

rvm @global do gem list

其他宝石集:

GEM_PATH=$GEM_HOME gem list

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

对于所有其他宝石套件,您可以使用gem list显示GEM_HOMEGEM_PATH中所有可用路径中的宝石的事实,将GEM_PATH重置为相等{{1}只会有一个路径可用 - 来自GEM_HOME的路径,所以GEM_HOME只显示所选gemset中的宝石,忽略所有其他宝石集(此时为gem list,但RVM 2.0将支持多个gemsets继承)。

答案 1 :(得分:22)

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

$ ls `rvm gemdir`/gems

答案 2 :(得分:4)

首先,每当选择任何其他gemset时,默认(无名称)gemset的内容将变为不可见。

如您所知,有效的@global gemset在当前所选Ruby的所有其他gemset中都是included

但是,要查看gemset的内容(不包括@global gemset),请首先rvm use 2.0.0@some-gemset --ignore-gemsets(或其他Rubies的similar)然后gem list

与查看@global gemset的内容类似,首先执行rvm use 2.0.0@global然后gem list

同样要查看默认gemset的内容,请rvm use 2.0.0 --ignore-gemsets然后gem list

顺便说一句,你可以为新的(非登录)shell选择一个gemset(所谓的)default(我总是在.bash_profile等中为每个Ruby单独执行解释器)但这是另一种默认的宝石集,而不是上面的(未命名的)默认宝石集。