¿Hay alguna forma de volver a cargar todas las gemas en una aplicación de Rails sin reiniciar completamente el servidor? Tengo un Gemfile que usa :path
para hacer referencia a una dependencia que estoy desarrollando en el mismo sistema, y es molesto tener que matar la aplicación y hacer rails -s
nuevamente cada vez que guardo un cambio. También sería bueno en la producción poder actualizar una joya sin matar al servidor por unos segundos. ¿Pensamientos?¿Cómo volver a cargar todas las gemas en Rails 3?
Respuesta
Recientemente descubrí que me gustaría hacer lo mismo que usted dice, por lo que puedo desarrollar gemas junto con mis proyectos.
En un Gemfile no he incluido la dependencia gema, sino que he añadido en config/ambientes/development.rb
ActiveSupport::Dependencies.autoload_paths << "/path_to_gem_dir/gem_name/lib"
Se me obliga a hacer un trabajo adicional por lo que es de sincronización, pero en la mayoría de los casos comunes está bien. Cuando termino de trabajar en una gema, puedo eliminar la autocarga y usar la dependencia de gema en Gemfile.
Recuerde que la dependencia de la gema se puede colocar en : producción,: pruebe grupos, por lo que en el desarrollo lo tiene limpio.
Por ejemplo
group :development do
# gem "wirble" COMMENTED!, so I can autoload files!
end
group :production do
gem "wirble"
end
de codificación feliz!
¡Gracias por el consejo! Añadiría que si la gema en la que está trabajando tiene dependencias adicionales (en gemspec), debe agregarlas al grupo de desarrollo de su gemfile o de lo contrario no se cargarán. –
Sí, solo puedes agregar fuentes allí. Todavía no logré encontrar una forma totalmente automática para hacer esto, pero por ahora parece ser la más cercana :) – m4risU
- 1. Obligar a ConfigurationManager a volver a cargar todas las secciones
- 2. ¿Hay un comando de Rails Console (Rails 3+) para volver a cargar el código modificado?
- 3. Rails 3: cómo cargar archivos en/lib?
- 4. ¿Cómo congelo gemas en una aplicación de Rails 3?
- 5. ¿Cómo volver a cargar gdbinit?
- 6. ¿Cómo volver a cargar TreeStore?
- 7. Rake para truncar todas las tablas en Rails 3
- 8. ¿Debo desinstalar manualmente todas las gemas dependientes?
- 9. ¿Cómo desinstalar todas las gemas de rubí en Windows?
- 10. Rails 3 Devolución de todas las columnas de un join
- 11. ¿Cómo puedo volver a cargar la página actual en Ruby on Rails?
- 12. ¿Cómo volver a cargar gema para cada solicitud en Rails 3.2?
- 13. Cargando gema en tiempo de ejecución en Rails 3
- 14. ¿Cómo revertir todas las migraciones a la vez en Ruby on Rails 3?
- 15. ¿Cómo puedo volver a cargar un script en IRB?
- 16. ¿Cómo reconstruir rdoc para todas las gemas instaladas?
- 17. ¿Cómo puedo agregar gemas a mi directorio de proveedor/caché en una aplicación de Rails 3?
- 18. ¿Cómo utiliza Bundler Gemfile.lock para cargar gemas?
- 19. ¿Cómo volver a cargar un div sin volver a cargar toda la página?
- 20. Obtener registros de cambios para todas las gemas incluidas en un proyecto de Rails
- 21. ¿Cómo/cuándo/dónde extender las clases de gemas (a través de class_eval y módulos) en Rails 3?
- 22. Cómo cargar archivos de audio con Paperclip en Rails 3?
- 23. gemas desembalaje [Rails 2.3.5]
- 24. Volver a cargar las configuraciones sin reiniciar Emacs
- 25. Actualizar/volver a cargar Flot en Javascript
- 26. Rails 3.2.x: cómo volver a cargar el directorio de aplicaciones/clases durante el desarrollo?
- 27. ¿Cómo volver a cargar los módulos en django shell?
- 28. ¿Cómo forzo a ActiveRecord a volver a cargar una clase?
- 29. lista de todas/las mejores gemas para Ruby?
- 30. ¿Volver a cargar rubygems en irb?
¿Fue esto resuelto? – Tom
No, nunca obtuve una buena respuesta. –