2012-03-15 17 views
107

Ho installato il pacchetto zlib e rubino 1.9.3 con rvm, ma ogni volta che provo ad installare gemme si dice cannot load such file -- zlibnon può caricare tale file - zlib anche dopo aver utilizzato rvm pkg installare zlib

I comandi che ho usato per installare sono

$ rvm install 1.9.3 
 
$ rvm pkg install zlib 

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

$ rvm use 1.9.3 

$ gem install heroku 
ERROR: Loading command: install (LoadError) 
    cannot load such file -- zlib 
ERROR: While executing gem ... (NameError) 
    uninitialized constant Gem::Commands::InstallCommand 

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

risposta

198

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

Ecco come fare:

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

[Edit] Come commentatore @chrisfinne menziona, sui sistemi/RedHat basato CentOS:

$ sudo yum install zlib-devel 
$ rvm reinstall 1.9.3 
+20

o sudo yum install zlib-devel –

+1

ho etichettato la questione ubuntu: P –

+4

Beh, a prescindere dal sistema operativo, consigli s' @chrisfinne è ancora utile (almeno per me)! –

9

Le due altre risposte sono state quasi giusto ...

Il rvm site for zlib fornisce una soluzione rapida!

Sulla parte superiore fuori dalla pagina è un "quick fix" seguirla di istruzioni, lo farà:

  • riparare un'installazione,
  • fornirà istruzioni che cosa fare per installare zlib dal sistema
  • e mostrare come reinstallare rubino
0
 
rvm pkg install openssl && rvm pkg install zlib && rvm pkg install libyaml && 
    rvm pkg install iconv 
rvm install 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/Cellar/readline/6.2.1 
1

ruby ​​ha un sacco di dipendenze dei pacchetti come quella sul zlib-de vel. Sono cattivi perché non c'è nulla che indichi che hai bisogno della libreria finché non ricevi un oscuro messaggio di errore mentre cerchi di fare qualcosa di routine.

La soluzione è utilizzare rvm. Usalo anche se hai solo bisogno di una versione di ruby. Perché? Perché allora si può fare

rvm requirements 

Ciò sondare il sistema operativo particolare e produrre una serie di comandi è possibile copiare fino alla linea di comando per installare i pacchetti mancanti.

1

Utilizzare autolibs per installare le dipendenze:

rvm autolibs enable 
rvm reinstall 1.9.3 

RVM installerà automaticamente le dipendenze mancanti e li usa per la compilazione rubino.

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

1

La soluzione che ha funzionato per me è descritta nella rvm github pronti contro termine, issue #3389.

Run

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

per Ruby versione 2.3.0 .

Problemi correlati