L'installazione delle rotaie Ubuntu non riesce su zlib


128

Sono appena passato a Ubuntu 8.10 come mio dev box; è la mia prima incursione seria in Linux come sistema operativo di uso quotidiano e sto facendo fatica a far funzionare Rails. Ho seguito una serie di tutorial che sembrano funzionare bene, ma quando provo a utilizzare gem install o gem update su qualsiasi cosa, ottengo un errore simile al seguente:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:1
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:5
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:167:in `load_and_instantiate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:88:in `[]'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:144:in `find_command'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:131:in `process_args'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:102:in `run'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:58:in `run'
from /usr/local/bin/gem:21

Ho (come raccomandato nei tutorial) installato zlib, zlib1g e zlib1g-dev. Ho anche trovato alcuni tutorial su questo particolare problema (tutti per gusti diversi dal mio, tuttavia) ma non mi hanno aiutato.

Sono su Ubuntu 8.10, versione ruby ​​1.8.8dev gem versione 1.3.2

Ho provato a reinstallare rubini e gemme ciascuno e separatamente, senza risultati.


23
"L'installazione di Ubuntu Noob Rails non riesce su zlib" Wow. È come la poesia più bella di sempre.
Nosredna,

3
apt-get install zlib1g zlib1g-dev ha funzionato per me su Ubuntu 10.04
bioneuralnet


Risposte:


297

Se trovi questa domanda cercando di installare Ruby usando Ruby Version Manager (RVM) su Ubuntu 10.04, allora ci sono istruzioni sull'installazione di zlib sul sito web rvm http://rvm.beginrescueend.com/packages/zlib/

I passaggi sono:

rvm pkg install zlib

(o rvm package install zlibse ottieni "ERRORE: argomento della riga di comando non riconosciuto: 'pkg'" - invece le versioni precedenti di rvm utilizzavano il verbo 'pacchetto')

poi

rvm remove 1.9.1
rvm install 1.9.1

33
grande, lo stesso approccio ha funzionato per me con una variazione minore per 1.9.2: vm package install zlib; rvm remove 1.9.2-p0; rvm install 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
meraviglioso, mi chiedevo perché rvm non funzionasse su debian anche con zlib installato tramite apt
Martin DeMello

11
ha avuto lo stesso problema, finalmente ho scoperto che funzionava per me:vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog,

Molte grazie! Ho avuto lo stesso problema. Ho dovuto sostituire "1.9.1" con "ree" in Ubuntu. +1!
kikito,

1
Grazie per aver incluso la pkgseconda opzione!
Justin,

52

Sto usando Ubuntu 10.04 (Lucido), volevo installare ruby ​​1.9.2 perché 1.9.1 non è raccomandato con Rails. Quindi ho scaricato il sorgente per 1.9.2 e decompresso / non archiviato. la mia fonte sorgente è ruby-1.9.2-p0. Dopo averlo decompresso, ho creato zlib come segue:

cd ruby-1.9.2-p0/ext/zlib
ruby extconf.rb
make
sudo make install
sudo gem install rails

quello ha risolto il problema. Questo è simile a quello che le altre persone hanno pubblicato sopra, ma non esattamente, quindi ho pensato che potrei anche pubblicare esattamente quello che ho fatto per farlo andare avanti.


2
Questa è la migliore risorsa che ho trovato. Ho installato ruby ​​dal sorgente senza rvm e ho riscontrato un problema con zlib. Questo post aiuta molto. Grazie!
cristian,

1
Grazie! Risolve il problema su 1.9.2-p136 / Ubuntu 10.04.1.
mgutz,

Grazie. Risolve il problema anche su 1.9.2-p180 / Red Hat 4.1.2-46.
adelarsq,

Questo ha funzionato per Ubnutu 11.04 / Ruby 1.9.2-p180. Ho provato apt-get install zlib1g zlib1g-devma non ha funzionato (è possibile che zlib1g-devnon sia stato installato prima di aver compilato Ruby).
Max Masnick,

Sembra che tu abbia bisogno di questo anche quando installi ruby ​​dalla fonte. Non sono sicuro del perché non sia installato per impostazione predefinita
nimrodm,

22

Ho lo stesso problema in CentOS e lo risolvo eseguendo il comando seguente:

Innanzitutto, mi assicuro che esistano zlib e zlib-devel (come molti suggeriti sopra).

yum install zlib zlib-devel

In secondo luogo, ho ricompilato e installato le fonti di zlib fornite con ruby.

cd /home/myname/installers/ruby-1.8.7-p174/ext/zlib/
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
make install

Questi comandi sembrano risolvere il problema, quindi eseguo gem update --systeme l'errore con zlib è scomparso. Quindi installo i binari con i binari di installazione gem. Nota per citare che avevo installato gem prima, e dopo aver ricompilato e installato zlib, non ricompilare né installare gem (in realtà non sapevo come disinstallarlo perché non ho trovato uno script per farlo)

Funziona per me ... spero che tu lo faccia.

Saluti.


13

provare

aptitude install zlib1g-dev

Quindi fai i tuoi affari.


ho dovuto farlo prima di essere in grado di compilare lo zlib fornito con la fonte ruby
Jeremy White

8

Non mi è piaciuta davvero nessuna di queste risposte ... nessuna si è davvero concentrata sulle reali esigenze e domande degli utenti ... solo persone che raccontano quello che hanno fatto ... nessun contesto e non ha nemmeno funzionato per me ...

Così, ..

Sto installando una nuova scatola Ubuntu 8.04 LTS a 64 bit ...

Così io ...

cd ~  
wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p180.tar.gz  
tar -xvvf ruby-1.9.2-p180.tar.gz  
cd ruby-*  
./configure  
make  
install  
sudo make install  

E poi ho questo problema con ...

gem list

non funziona ... qualcosa su zLib non trovato schifo ...

Quindi, in realtà ho letto il file README e ho scoperto che devo modificare un file ...

[my ruby source directory]/ext/Setup

e UN-COMMENT la linea con zLib in essa ... rimuovendo il "#" nella prima colonna

Quindi eseguo nuovamente i comandi ... inclusi qui come riferimento ...

./configure
make  
install  
sudo make install  

e tutto va bene ... è logico ... ed è privo di "rvm" e altri ... "basta installare più cose per farlo funzionare" soluzioni di tipo.

Joet


Non mi aiuta. Ho letto anche il file Leggimi e ne ho seguito le istruzioni, ma anche dopo non riesco ancora a far funzionare le gemme di rubino, con ancora dicendo niente zlib ...
Jenny,

In realtà la risposta è rilevante in quanto questo è un problema comune quando si utilizza rvm. La tua risposta è più adatta per le persone che non usano rvm.
foamdino,

7

Vai a Ruby Source Package, decomprimilo.

Vai a / ruby-dir / ext / zlib

ruby extconf.rb
make
sudo make install

Se mancano i pacchetti te lo diranno, principalmente i pacchetti relativi a libzlib

Saluti

Saurabh



4

sì, e neanche quello ha funzionato. L'ho preso da un'altra fonte, alla fine l'ho fatto per me dove le altre cose sono fallite.

wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz
tar xvzf ruby-zlib-0.6.0.tar.gz
cd ruby-zlib-0.6.0
ruby extconf.rb && make
sudo make install

Reinstalla le gemme di rubino dalla fonte

Grazie comunque ragazzi.


1
Ho avuto un problema con extconf.rb. Risolto (probabilmente) installando zlib-devel.
Gregers

anch'io. Ho provato tutto il resto e finalmente blue.sky.or.jp mi ha salvato. Grazie.
abhishek,

2

Il problema è che Ruby su Ubuntu non è costruito contro zlib; ti consigliamo di creare una build di origine per installare Ruby. Puoi farlo conapt-get source -b ruby


ok, ancora una volta, Linux Noob. Non ho idea di quello che hai appena detto. lol. Voglio dire, capisco il comando; ma cosa devo fare dopo?
Paul,

bene, ora, anche così tanto non ha funzionato. Ho ricevuto un errore "Comando build 'cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc' failed"
Paul

2

Hai provato apt-get install libzlib-ruby?

Installa anche rubygems da rubyforge. Non mi piace il pacchetto rubygems in Ubuntu.


2

Su Debian (Squeeze):

libruby contiene zlib per ruby ​​tra tutte le altre cose di cui hai bisogno per far funzionare correttamente ruby ​​su Debian. Così...

apt-get install libruby

Poi...

cd /usr/local/src/ruby
make clean
make
make install
cd ../rubygems
ruby setup.rb
gem install rails

Questo ha funzionato per me, ma il tuo chilometraggio può variare. Ho fatto un leggero approccio con il fucile da caccia a zlib prima di scoprire che tutto ciò che era necessario era coperto da libruby.


1

È possibile provare a scaricare il pacchetto deb ruby ​​enterprise sul sito di phusion . E installare il passeggero attraverso il pacchetto. Segui le istruzioni qui . Oppure potresti provare lo script bash trovato qui .


0

Quando eseguo Rails non consiglierei l'uso di Ruby 1.8.8dev. Stick con 1.8.6, preferibilmente Ruby Enterprise Edition. Vedi questo post su RailsLab che cosa stanno usando gli altri.

Se insisti per dedicarti alla tecnologia avanzata, installa Ruby 1.9.1.

Ma in entrambi i casi costruisci tu stesso o usa il suggerimento di Marans.


Questo è un cattivo consiglio, NON utilizzare 1.9.1 con le guide. 1.9.2+ funziona bene, però.
xaxxon,

Quel commento è stato inserito 2 anni fa ... Ora 1.9.3 sarebbe la strada da percorrere ovviamente.
danneggiare il

certo, sto bene con quello. Ma è importante che qualcuno sappia che è sbagliato.
xaxxon,
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.