¿Hay algún comando en debugger
o ruby-debug
para obtener una lista de todas las gemas y/o complementos cargados en la memoria para un proceso Rails? Entiendo que solo se cargan las gemas 'require
', pero me gustaría ver rápidamente qué se cargó durante el tiempo de ejecución.¿Hay alguna manera de decir qué gemas y complementos se cargan en tiempo de ejecución para un proceso Rails?
Respuesta
Esto debe conseguir que todo cargado a través rubygems:
Gem.loaded_specs.keys
No sé de una manera universal a ver qué carriles plugins se cargan, se puede ver en la fuente de rieles :: inicializador (pre 3.0) & averigüe qué está haciendo su versión de los rieles. Esperemos que sepa qué complementos debe cargar & puede confirmarlo desde la consola cuando se depura.
Con versiones:
Gem.loaded_specs.values.map {|x| "#{x.name} #{x.version}"}
creo que las respuestas anteriores utilizando Gem.loaded_specs.keys
muestran las gemas de la "ruta de carga".
Sin embargo, usted originalmente preguntó acerca de las gemas cargadas en la memoria, y la respuesta this puede ser más útil.
No, las otras respuestas enumeran correctamente solo gemas requeridas. He probado esto con ruby 2.3. Pero +1 para su respuesta porque '$ LOADED_FEATURES' también es útil. – akostadinov
- 1. ¿Hay alguna manera de cargar un archivo de clase para ensamblar en tiempo de ejecución?
- 2. ¿Hay alguna manera de crear complementos nativos para trigger.io?
- 3. ¿Hay alguna sobrecarga en tiempo de ejecución para leer solo?
- 4. Tus gemas/complementos Rails menos conocidos favoritos
- 5. ¿Hay alguna manera fácil de decir en qué línea está un puntero de archivo?
- 6. ¿Hay alguna manera de obtener el bytecode para una clase en tiempo de ejecución?
- 7. gemas/complementos para el sistema de afiliados?
- 8. ¿En qué orden se cargan los archivos de configuración para Rails?
- 9. ¿Hay alguna manera de crear complementos de Eclipse con Python?
- 10. ¿Hay alguna manera en Eclipse para determinar qué está consumiendo tiempo de CPU?
- 11. En Ruby, ¿hay alguna manera de decir dónde se define un método?
- 12. Rails, ¿hay muchas gemas en gemfile que ralentizan el sitio?
- 13. Cargando gema en tiempo de ejecución en Rails 3
- 14. ¿Hay alguna manera de acceder a Ribbon (XML) en tiempo de ejecución?
- 15. ¿Hay alguna manera de evitar actualizar automáticamente los campos de marca de tiempo de Rails?
- 16. ¿Hay alguna forma de obtener/enganchar/adjuntar un proceso ya en ejecución usando java?
- 17. ¿Hay alguna manera de obtener la identificación del paquete en tiempo de ejecución?
- 18. ¿Hay alguna prueba para Ruby on Rails?
- 19. ¿Hay alguna manera de que un proceso de Android produzca un volcado dinámico en un OutOfMemoryError?
- 20. ¿Cómo eliminar los complementos MEF en tiempo de ejecución?
- 21. ¿Hay alguna manera de mostrar el atributo de título de un elemento html durante más tiempo?
- 22. ¿Hay alguna herramienta que permita inspeccionar objetos .NET en un proceso en ejecución?
- 23. ¿Hay alguna manera de definir un valor constante para Java en tiempo de compilación
- 24. ¿Hay alguna manera de forzar el WorkingSet de un proceso de 1 GB en C++?
- 25. ¿Hay alguna manera de detener el tiempo. ¿Duerme en Windows?
- 26. ¿Hay alguna manera de deshabilitar ReSharper para un archivo específico?
- 27. iPhone: ¿Hay alguna manera de cargarFromNib Y tener un reuseIdentifier?
- 28. Confirmación de correo electrónico en Rails sin usar gemas/complementos de autenticación existentes
- 29. ¿Hay alguna manera de mantener sincronizados dos videos en una página web sin complementos?
- 30. ¿Cómo explorar qué clases se cargan desde qué JAR?
Creo que @sreid tiene un punto importante en su respuesta a continuación, si entiendo lo que está sucediendo correctamente. El número de gemas en la ruta de carga no es necesariamente igual al número de gemas cargadas en la memoria. Por ejemplo, si se excluyen grupos particulares en un 'Bundler.require', ¿' Gem.loaded_specs' aún no los mostrará? –