获取所有宝石的列表

4
在Rails 3中,Rails.configuration.gems这个东西去哪里了?我猜和Bundler有关。但是现在我该如何找到所有的gems呢?
谢谢。
1个回答

9

是的,这与Bundler有关。在Rails 3中,应用程序的gem清单位于名为Gemfile的文件中。关于这些更改以及如何使用它们的一些很好的解释可以在此处此处此处此处找到。

更新:

bundle show CLI列出了应用程序正在使用的gems。但是,您可以通过编程方式获得相同的结果,如下所示:

require 'bundler'
mygems = Bundler.load.specs.map { |spec| spec.name }

规范对象还包含其他有趣的属性。

我有点在Rails 3应用中使用Bundler,我知道如何做。但是,我该如何在ruby代码中检查一些东西,比如查找我的应用程序的所有gems?这是我的问题... - rejeep
我查看了Bundler的源代码,得出了类似于这样的结果:Bundler.environment.dependencies.select {|d| d.groups.include?(:default)}.collect(&:name)。虽然不是很完美... - rejeep
@rejeep 抱歉,第一次我误解了你的问题。我在上面添加了一个更新,希望这就是你要找的内容。 - bjg
这更像是! :) 但是,我真正想要的是直接指定的宝石,而不包括依赖项... - rejeep
@rejeep,在这种情况下,我想不出比打开并阅读Gemfile中所有gem行更好的方法了。 - bjg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接