2009-09-17 10 views
5

Desarrollé una aplicación Ruby (un juego pequeño) y me gustaría 'distribuirla' a otras personas.Cómo distribuir una aplicación Ruby con las gemas necesarias

Sin embargo, no estoy seguro de qué hacer con las gemas necesarias. Si solo envío mi aplicación a alguien que tenga Ruby instalado, pero no las gemas necesarias, supongo que explotará. ¿Puedo empaquetar 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?

+0

puede usar zapatos para esto. –

Respuesta

5

La mejor manera probablemente sea empacar el juego como una gema también, de esa manera rubygems se encargará de instalar las dependencias. Here es la documentación que explica cómo crear sus propias gemas.

+0

Esa es la manera de hacerlo. Si nunca lo has hecho antes, el joyero [1] debería ser de ayuda. También puede especificar las dependencias de su gema en el manifiesto de su gema. [1] - http://github.com/technicalpickles/jeweler – hgmnz

+0

Y, por cierto, puede crear una tarea de rake que pueda instalar sus gemas. Vea la respuesta de Yehuda aquí: http://stackoverflow.com/questions/1000749/how-to-quickly-initialize-ruby-project-development-environment/1072299#1072299 – hgmnz

+0

¡Ese es un buen punto! No he pensado en hacer el juego como una Gema. – phss

3

Si prefiere no empaquetar su juego como una joya, se podría investigar la Bundler, que se integrará en los rieles 3.

1

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 la gema, pero sin duda se puede utilizar. El usuario debe sudo rake gems:install para iniciar su aplicación.

0

Si está buscando una manera de crear OSX .dmg y Windows Installers, hay una gema llamada releasy que hará todo eso por usted, y está específicamente diseñada para liberar aplicaciones de GUI escritas en Ruby. Agrupa Ruby y todas sus dependencias gemelas en un solo ejecutable para que su usuario final no tenga que instalar nada extra.

Necesitará acceso a un entorno Windows/OSX para hacer los instaladores.

Cuestiones relacionadas