Pregunta

Estoy intentando instalar la gema ibm_db para poder acceder a DB2 desde Ruby.Cuando lo intento:

sudo gem install ibm_db

Recibo la siguiente solicitud de aclaración:

Select which gem to install for your platform (i486-linux)
 1. ibm_db 0.10.0 (ruby)
 2. ibm_db 0.10.0 (mswin32)
 3. ibm_db 0.9.5 (mswin32)
 4. ibm_db 0.9.5 (ruby)
 5. Skip this gem
 6. Cancel installation

Siempre instalaré la versión de Linux (que supongo que es la versión "ruby"), entonces, ¿hay alguna manera de elegir cuál instalaré directamente desde el comando de instalación de gemas?

La razón por la que esto es un problema es que necesito automatizar esta instalación mediante un script bash, por lo que me gustaría seleccionar con anticipación que quiero la versión "ruby".

¿Fue útil?

Solución

Puede utilizar un 'documento aquí'.Eso es:

sudo gem install ibm_db <<heredoc
  1
heredoc

Lo que hay entre \<\<\SOMETHING y ALGO se ingresa como entrada al comando anterior (algo así como los propios documentos aquí de Ruby).El único que hay, por supuesto, es la selección de la plataforma "ibm_db 0.10.0 (ruby)".

Espero que sea suficiente.

Otros consejos

Prueba esto:

sudo gem install --platform ruby ibm_db

Tenga en cuenta que puede obtener ayuda sobre el comando de instalación usando:

gem help install

ACTUALIZAR: Parece que esta opción sólo funciona para RubyGems 0.9.5 o superior.

Prueba esto, aunque creo que solo funciona en Bash.

sudo gem install ibm_db < <(echo 1)

@John Topley

Ya probé la instalación de gem help y --platform no es una opción, tanto en la ayuda como en la práctica:

$ sudo gem install ibm_db --platform ruby
ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --platform

ACTUALIZAR:Los repositorios de Ubuntu tienen la versión 0.9.4 de rubygems, que no tiene la opción --platform.Parece que puede ser una nueva característica en 0.9.5, pero todavía no hay documentación en línea para ello y, de todos modos, no funcionará en Ubuntu, que es la plataforma en la que necesito que funcione.

Las versiones de Rubygems a partir de la 1.0 detectan automáticamente la plataforma que estás ejecutando y, por lo tanto, no hacen esa pregunta.¿Puedes actualizar tus gemas a la última versión?

$ sudo gem update --system

Tenga cuidado si está en Windows una vez que haya actualizado;podrías toparte con este problema.

Otra opción es descargar el archivo .gem e instalarlo manualmente como tal:

sudo gem install path/to/ibm_db-0.10.0.gem

Esta joya en particular estaba en forjarubí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top