no se puede cargar dicho archivo - zlib incluso después de usar rvm pkg install zlib


112

Instalé el paquete zlib y ruby ​​1.9.3 usando rvm, pero cada vez que intento instalar gems, dice cannot load such file -- zlib

Los comandos que solía instalar son

$ rvm install 1.9.3
$ rvm pkg instalar zlib

$ rvm reinstalar 1.9.3 --with-readline-dir = / home / username / .rvm / usr \
    --with-iconv-dir = / inicio / nombre de usuario / .rvm / usr \
    --with-zlib-dir = / inicio / nombre de usuario / .rvm / usr \
    --with-openssl-dir = / inicio / nombre de usuario / .rvm / usr

$ rvm use 1.9.3

$ gem install heroku
ERROR: Comando de carga: instalar (LoadError)
    no se puede cargar dicho archivo - zlib
ERROR: Al ejecutar la gema ... (NameError)
    constante no inicializada Gem :: Commands :: InstallCommand

Toda la ayuda sobre este tema me dice que simplemente lo haga rvm pkg install zliby luego reinstale el ruby ​​con --with-zlib-dir=/home/username/.rvm/usr, pero esto no funcionó.

Respuestas:


201

Terminé instalando zlib desde apt-get y luego reinstalando ruby ​​para no usar el directorio rvm para zlib.

He aquí cómo hacerlo:

$ sudo apt-get install zlib1g-dev
$ rvm reinstall 1.9.3

[Editar] Como menciona el comentarista @chrisfinne, en los sistemas basados ​​en CentOS / RedHat:

$ sudo yum install zlib-devel
$ rvm reinstall 1.9.3

21
o sudo yum install zlib-devel
chris finne

4
Bueno, independientemente del sistema operativo, ¡el consejo de @chrisfinne sigue siendo útil (al menos para mí)!

Funcionó perfectamente para mí. Aunque tuve que volver a compilar una vez más ya que también me faltaba libssl-dev (lo necesitaba porque rvm quería recuperar las fuentes de ruby ​​a través de HTTPS) :-)
tr9sh

9

Las otras dos respuestas eran casi correctas ...

¡El sitio rvm para zlib ofrece una solución rápida!

En la parte superior de la página hay un "arreglo rápido", siga sus instrucciones, lo hará:

  • arregla tu instalación,
  • proporcionarle instrucciones sobre qué hacer para instalar zlib desde su sistema
  • y mostrar cómo reinstalar ruby

1

Ruby tiene un montón de dependencias de paquetes como la de zlib-devel. Son desagradables porque no hay nada que indique que necesita la biblioteca hasta que recibe un mensaje de error oscuro al intentar hacer algo de rutina.

La solución es usar rvm . Úselo incluso si solo necesita una versión de ruby. ¿Por qué? Porque entonces puedes hacer

rvm requirements

Esto probará su sistema operativo particular y producirá un conjunto de comandos que puede copiar de nuevo a la línea de comandos para instalar los paquetes que faltan.


1

Use autolibs para instalar dependencias:

rvm autolibs enable
rvm reinstall 1.9.3

RVM instalará automáticamente las dependencias faltantes y las usará para compilar ruby.

Más detalles sobre autolibs => http://rvm.io/rvm/autolibs


1
rvm pkg instalar openssl && rvm pkg instalar zlib && rvm pkg instalar libyaml &&
  rvm pkg instalar iconv
rvm install 1.9.3-p0 --with-opt-dir = $ HOME / .rvm / usr \
  --con-libxml2-dir = / usr / local / Cellar / libxml2 / 2.7.8 \
  --with-readline-dir = / usr / local / Cellar / readline / 6.2.1

1

La solución que funcionó para mí se describe en rvm github repo, número 3389 .

correr

rvm install 2.3.0 --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8

para la versión ruby 2.3.0 .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.