impossibile caricare tale file - zlib anche dopo aver utilizzato rvm pkg install zlib


112

Ho installato il pacchetto zlib e ruby ​​1.9.3 usando rvm, ma ogni volta che provo a installare gems dice cannot load such file -- zlib

I comandi che ho usato per l'installazione sono

$ rvm install 1.9.3
$ rvm pkg installa zlib

$ rvm reinstall 1.9.3 --with-readline-dir = / home / nomeutente / .rvm / usr \
    --with-iconv-dir = / home / nomeutente / .rvm / usr \
    --with-zlib-dir = / home / nomeutente / .rvm / usr \
    --with-openssl-dir = / home / nomeutente / .rvm / usr

$ rvm usa 1.9.3

$ gem install heroku
ERRORE: caricamento del comando: install (LoadError)
    non è possibile caricare tale file - zlib
ERRORE: durante l'esecuzione di gem ... (NameError)
    costante non inizializzata Gem :: Commands :: InstallCommand

Tutto l'aiuto su questo argomento mi dice di fare rvm pkg install zlibe poi reinstallare il rubino con --with-zlib-dir=/home/username/.rvm/usr, ma non ha funzionato.

Risposte:


201

Ho finito per installare zlib da apt-get e quindi reinstallare ruby ​​per non utilizzare la directory rvm per zlib.

Ecco come fare:

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

[Modifica] Come menziona il commentatore @chrisfinne, sui sistemi basati su CentOS / RedHat:

$ sudo yum install zlib-devel
$ rvm reinstall 1.9.3

21
o sudo yum install zlib-devel
chris finne

4
Bene, indipendentemente dal sistema operativo, il consiglio di @chrisfinne è ancora utile (almeno per me)!

Ha funzionato perfettamente per me. Anche se ho dovuto ricompilare ancora una volta poiché mi mancava anche libssl-dev (ne avevo bisogno perché rvm voleva recuperare i sorgenti di ruby ​​tramite HTTPS) :-)
tr9sh

9

Le altre due risposte erano quasi giuste ...

Il sito rvm per zlib fornisce una soluzione rapida!

Nella parte superiore della pagina c'è una "soluzione rapida", segui le sue istruzioni, che:

  • aggiusta la tua installazione,
  • fornirti le istruzioni su cosa fare per installare zlib dal tuo sistema
  • e mostra come reinstallare ruby

1

Ruby ha un sacco di dipendenze dai pacchetti come quella su zlib-devel. Sono cattivi perché non c'è nulla che indichi che hai bisogno della libreria finché non ricevi qualche oscuro messaggio di errore mentre provi a fare qualcosa di normale.

La soluzione è usare rvm . Usalo anche se hai bisogno di una sola versione di ruby. Perché? Perché allora puoi farlo

rvm requirements

Questo sonderà il tuo particolare sistema operativo e produrrà una serie di comandi che puoi copiare di nuovo sulla riga di comando per installare quei pacchetti mancanti.


1

Usa autolib per installare le dipendenze:

rvm autolibs enable
rvm reinstall 1.9.3

RVM installerà automaticamente le dipendenze mancanti e le userà per compilare ruby.

Maggiori dettagli su autolibs => http://rvm.io/rvm/autolibs


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

1

La soluzione che ha funzionato per me è descritta nel repository github rvm, numero 3389 .

Correre

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

per la versione ruby 2.3.0 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.