我有两个孤立的Ruby安装(一个用于厨师,一个用于Sensu)。从Chef安装中,我想获得安装在Sensu ruby中的所有版本的gem列表。我知道运行时两种安装的绝对路径。从外部的红宝石安装获取宝石版本
我用Gem::Specification::find_all_by_name
之前有很大的影响,这是那种方法我在寻找的,但似乎只对工作当前正在执行的红宝石,并且似乎没有有什么样的的可重用性概念。
一种方法是使用gem list
与grep
并解析输出,但我真的宁愿不必为解决问题而掏腰包,我更喜欢使用红宝石解决方案。我也可以自己检查文件系统并重新创建Gem::Specification
的逻辑,但这并不比脱壳更好。
有没有一种方法可以得到等效输出到Gem::Specification
而不用自己复制解析逻辑?