Ruby on rails 有没有办法告诉我们在运行时为Rails进程加载了哪些gem和插件?

Ruby on rails 有没有办法告诉我们在运行时为Rails进程加载了哪些gem和插件?,ruby-on-rails,plugins,rubygems,debugging,ruby-debug,Ruby On Rails,Plugins,Rubygems,Debugging,Ruby Debug,在debugger或ruby debug中是否有任何命令可以获取为Rails进程加载到内存中的所有gem和/或插件的列表?我只知道加载了“require”gems,但我想快速查看运行时加载的内容。这应该可以让您通过rubygems加载所有内容: Gem.loaded_specs.keys 我不知道有什么通用方法可以查看加载了哪些rails插件,您可以查看rails::Initializer(3.0之前)的源代码&了解您的rails版本在做什么。希望您知道应该加载哪些插件,并且可以在调试时从控制

debugger
ruby debug
中是否有任何命令可以获取为Rails进程加载到内存中的所有gem和/或插件的列表?我只知道加载了“
require
”gems,但我想快速查看运行时加载的内容。

这应该可以让您通过rubygems加载所有内容:

Gem.loaded_specs.keys
我不知道有什么通用方法可以查看加载了哪些rails插件,您可以查看rails::Initializer(3.0之前)的源代码&了解您的rails版本在做什么。希望您知道应该加载哪些插件,并且可以在调试时从控制台确认这一点。

版本:

Gem.loaded_specs.values.map {|x| "#{x.name} #{x.version}"}

我认为上面的答案是使用
Gem.loaded_specs.keys
在“加载路径”上显示Gem


不过,您最初询问的是加载到内存中的gems,答案可能更有用。

我认为@sreid在下面的答案中有一个重要的观点,如果我正确理解了发生的事情的话。加载路径上的gem数不一定等于加载到内存中的gem数。例如,如果特定组被排除在
捆绑包中。require
,那么
Gem.loaded_specs
是否仍会显示它们?否,其他答案仅正确列出所需的Gem。我已经用ruby 2.3测试过了。但是+1表示您的答案,因为
$LOADED\u功能
也非常有用。