如何在Rails Console中列出环境已加载的Gems?(使用Gemfile与Rails 5)
在Rails 5控制台列出已加载Gems的实用方法
嘿,我刚好在Rails 5环境里折腾过类似的需求,给你几个亲测有效的方法:
查看实际已加载到内存的Gems
在Rails Console里输入以下命令,会返回所有已加载Gem的名称列表,还按字母排序方便查找:Gem.loaded_specs.keys.sort如果想查看某个Gem的详细信息(比如版本号、依赖),可以直接取对应的spec:
Gem.loaded_specs['rails']查看Bundler管理的当前环境所有Gems(含未加载的)
如果你想确认Gemfile里声明的所有Gems(不管是否已经被加载到内存),可以用这个命令:Bundler.load.specs.map(&:name).sort同样,要查看单个Gem的详情,用
Bundler.load.specs.find { |s| s.name == 'devise' }之类的写法就行。额外小技巧:查看Gems加载的文件
要是你想确认某个Gem的具体文件是否被加载,可以用$LOADED_FEATURES筛选,比如:$LOADED_FEATURES.grep(/devise/)
这些命令在Rails 5的控制台里都是直接可用的,我之前找解决方案的时候也踩过坑,这几个是最直接有效的~
内容的提问来源于stack exchange,提问作者konyak
相关产品推荐
相关产品推荐

