¿Cuál es la forma más sencilla de descargar una gema sin instalar Rubygems?

¿Cuál es la forma más sencilla de descargar una gema sin instalar Rubygems?

Me gustaría descargar una gema sin instalar todas las gemas necesarias para una gema determinada.

Específicamente para la gema Rails 3. Tiene muchas dependencias y necesito instalarlo en un servidor cerrado que actualmente no tiene software Ruby/rake/rails.

Cualquier pista sería genial ya que hacer clic en rubygems.org es tedioso.

Bien, déjame aclarar esto un poco. Lo que me gustaría es que esto funcione:

Rieles de instalación de gemas: solo descarga

lo que resolvería mis problemas ya que entonces podría grabar las gemas resultantes en un disco y moverlas a mi servidor que no tiene acceso a Internet.

Respuesta1

Para descargar una sola gema, use (usando la gema bocazas como ejemplo):

gem fetch loudmouth
Fetching: loudmouth-0.2.4.gem (100%)
Downloaded loudmouth-0.2.4

para descargar todas las gemas de las que depende tu aplicación Rails 3, ejecuta:

bundle package

Esto descargará todas las gemas (y sus dependencias) y las colocará en el proveedor/caché (sin instalarlas).

Luego puede grabar todas las gemas en el proveedor/caché en un CD y llevarlas físicamente al otro servidor sin acceso a la red.

Respuesta2

Bueno, odio responder mi propia pregunta, pero creo que esta es la solución más probable para mi pregunta.

- find network enabled machine
- install rails and all needed gems using RubyGems.
- tar/zip /usr/lib[64]/ruby/gem/1.9.1/cache/*.gem
- transport tar file to non-networked computer.

La ubicación de esos archivos de gemas en caché es muy útil. Si tuviera numerosas gemas en mi máquina en red y no quisiera transportar todas las gemas, habría usado

> bundle list

para mostrar las gemas específicas de la aplicación necesarias.

-Daniel

Respuesta3

Crearía un servidor RubyGems local con todas las gemas necesarias para la aplicación, incluidos Rails y sus dependencias.

Documentación básica aquí:

Esta publicación de blog muestra cómo configurar un servidor interno al que puede enviar gemas para su indexación automática:

Respuesta4

Lamentablemente no se puede solucionar el problema de la dependencia. Son necesarios por una razón; Intentar instalar Rails sin las dependencias necesarias resultará en muchos problemas, si es que Rails se ejecuta.

No especificaste exactamente qué querías decir con cerrado. Si te refieres a cerrado porque no puedes instalar software en todo el sistema, echa un vistazo aRVM, que es un software que le permitirá crear un entorno Ruby autónomo. También es posible que puedas configurar esto en otro servidor y moverlo si el servidor no tiene conexión a Internet. Échale un vistazo y comprueba si esto te ayuda.

información relacionada