Cómo distribuir una aplicación Ruby con las gemas requeridas
-
10-07-2019 - |
Pregunta
Desarrollé una aplicación Ruby (un pequeño juego) y me gustaría 'distribuirla' a otras personas.
Sin embargo, no estoy seguro de qué hacer con las gemas requeridas. Si solo envío mi aplicación a alguien que tenga instalado Ruby, pero no las gemas requeridas, supongo que explotará. ¿Puedo empacar las gemas localmente? Si es así, ¿entraría en conflicto si la otra persona tiene una versión diferente de la gema?
Entonces, ¿cuál es la forma inteligente / adecuada / buena de hacer esto?
Solución
La mejor manera probablemente sería simplemente empaquetar tu juego como una gema también, de esa manera rubygems se encargará de instalar las dependencias. Aquí está la documentación que explica cómo crear sus propias gemas.
Otros consejos
Si prefieres no empaquetar tu juego como una gema, puedes investigar el Bundler , que se integrará en Rails 3.
En su environment.rb puede expresar sus dependencias de gemas, por ejemplo.
config.gem "activemerchant", :lib => "active_merchant", :version => "1.4.1"
Esto no es tan automático como las dependencias de gemas, pero ciertamente es utilizable. El usuario debe sudo rake gems: instalar
para que su aplicación se inicie.
Si está buscando una manera de crear instaladores OSX .dmg y Windows, hay una gema llamada releasy que hará todo eso por usted, y está específicamente diseñado para lanzar aplicaciones GUI escritas en Ruby. Agrupa Ruby y todas sus dependencias de gemas en un solo ejecutable para que su usuario final no tenga que instalar nada adicional.
Necesitará acceso a un entorno Windows / OSX para hacer los instaladores.