debugger
或ruby-debug
中是否有任何命令獲取Rails進程在內存中加載的所有gem和/或插件的列表?我知道只有'require
'寶石已加載,但我想快速查看在運行時加載的內容。有什麼方法可以告訴哪些gems和插件在運行時加載Rails進程?
24
A
回答
33
這應該讓你的一切通過RubyGems的加載:
Gem.loaded_specs.keys
我不知道的一個普遍的方式,看看哪些Rails插件加載,你可以看看源爲Rails ::初始化程序(預3.0)&找出你的版本的軌道正在做什麼。希望你知道哪個插件應該被加載&可以在調試時從控制檯確認。
27
隨着版本:
Gem.loaded_specs.values.map {|x| "#{x.name} #{x.version}"}
3
我認爲使用上述答案Gem.loaded_specs.keys
顯示「負載路徑」上的寶石。
不過,你最初問到關於加載到內存中的gem,而this的答案可能會更有幫助。
+0
不,其他答案只能列出所需的寶石。我已經用ruby 2.3測試過了。但你的答案+1,因爲'$ LOADED_FEATURES'也很有用。 – akostadinov 2017-02-27 09:10:33
相關問題
- 1. 有什麼方法可以告訴哪些PouchDB插件當前已加載?
- 2. 有沒有方法可以告訴我的進程中哪些線程正在運行?
- 3. 有什麼方法可以告訴ZeroMQ消息來自哪裏?
- 4. 使用並行Python時,有什麼方法可以告訴作業運行在哪臺機器上?
- 5. 有什麼方法可以告訴SVG動畫何時完成?
- 6. 告訴哪些腳本在Apache上運行的方法
- 7. 有什麼方法可以告訴MySQL查詢需要運行多久?
- 8. IntelliJ插件卸載時有什麼方法可以通知嗎?
- 9. 有沒有一種方法可以告訴參考4.1哪些命令應該加載實體上的屬性?
- 10. 程序來告訴瀏覽器正在運行哪些腳本?
- 11. 如何告訴JAXB在運行時序列化哪些字段?
- 12. 有什麼辦法可以在後臺運行進程?
- 13. 有人可以告訴我爲什麼運行時間是N^2?
- 14. 你可以告訴什麼時候數據被插入到表
- 15. 有什麼方法可以加速cufon的加載時間?
- 16. Rails gems中的這些「無」方法在哪裏被定義?
- 17. 有沒有一種簡單的方法可以告訴Java執行程序在給定時刻正在運行哪些任務?
- 18. Android OpenGLES在GLThread中加載紋理,然後告訴UI線程運行方法
- 19. JavaScript keydown事件:我可以告訴以前有哪些元素有焦點嗎?
- 20. 有什麼方法可以檢測哪些硬件輸入來自web編程?
- 21. 有人可以告訴我List,Collection和Enumerable有什麼區別?
- 22. 我可以告訴SPSS使用語法命令運行某些語法行嗎?
- 23. 有沒有一些方法可以卸載Eclipse Juno的插件?
- 24. 有什麼辦法可以告訴哪個屬性的值來自?
- 25. 可以在單個進程中加載多少運行時(CLR)?
- 26. 有人可以告訴我它是什麼樣的加密嗎?
- 27. 我怎麼能告訴Linux哪些進程發送了我的進程信號
- 28. 哪些Java類正在我的程序在運行時加載?
- 29. 有什麼辦法可以告訴哪些c#對象沒有被垃圾回收?
- 30. 爲什麼Rails在啓動時預加載所有依賴項(gems)?
我認爲@sreid在下面的答案中有一個重要的觀點,如果我正確理解發生了什麼。加載路徑上的寶石數量不一定等於加載到內存中的寶石數量。例如,如果特定的組在「Bundler.require」中被排除,「Gem.loaded_specs」是否仍然顯示它們? – 2016-09-29 21:56:48