Is there any command either in debugger
or ruby-debug
to get a list of all gems and/or plugins loaded in memory for a Rails process? I understand only the 'require
' gems are loaded but I would like to quickly see what got loaded during runtime.
Asked
Active
Viewed 8,089 times
29

Chirag Patel
- 5,819
- 8
- 35
- 38
3 Answers
41
This should get you everything loaded through rubygems:
Gem.loaded_specs.keys
I don't know of a universal way to see which rails plugins are loaded, you can look at the source for Rails::Initializer (pre 3.0) & figure out what your version of rails is doing. Hopefully you know which plugins should be loading & can confirm that from the console when debugging.

jdeseno
- 7,753
- 1
- 36
- 34
-
I think @sreid has an important point in his answer below, if I'm understanding what's going on correctly. The number of gems on the the load path is not necessarily equal to the number of gems loaded into memory. For example, if particular groups are excluded from in a `Bundler.require`, won't `Gem.loaded_specs` still show them? – Toby Murray Sep 29 '16 at 21:56
3
I think the above answers using Gem.loaded_specs.keys
show the gems on the "load path".
However, you originally asked about gems loaded into memory, and this answer may be more helpful.
-
No, the other answers correctly list only required gems. I have tested this with ruby 2.3. But +1 for your answer because `$LOADED_FEATURES` is rather useful too. – akostadinov Feb 27 '17 at 09:10