Die Installation von Ubuntu Rails schlägt auf zlib fehl


128

Ich bin gerade auf Ubuntu 8.10 als meine Entwicklungsbox umgestiegen. Es ist mein erster ernsthafter Einstieg in Linux als Betriebssystem für den täglichen Gebrauch, und es fällt mir schwer, Rails zum Laufen zu bringen. Ich habe eine Reihe von Tutorials befolgt, die alle gut zu funktionieren scheinen, aber wenn ich versuche, gem install oder gem update für irgendetwas zu verwenden, erhalte ich eine Fehlermeldung, die folgendermaßen aussieht:

/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

Ich habe (wie in den Tutorials empfohlen) zlib, zlib1g und zlib1g-dev installiert. Ich habe sogar ein paar Tutorials zu diesem speziellen Problem gefunden (alle für andere als meine Geschmacksrichtungen), aber sie haben nicht geholfen.

Ich bin auf Ubuntu 8.10, Ruby Version 1.8.8dev Gem Version 1.3.2

Ich habe versucht, Rubin und Edelsteine ​​einzeln und einzeln neu zu installieren, ohne Erfolg.


23
"Die Installation von Ubuntu noob Rails schlägt auf zlib fehl" Wow. Das ist wie das schönste Gedicht aller Zeiten.
Nosredna

3
apt-get install zlib1g zlib1g-dev arbeitete für mich unter Ubuntu 10.04
bioneuralnet


Antworten:


297

Wenn Sie auf diese Frage stoßen, wenn Sie versuchen, Ruby mit Ruby Version Manager (RVM) unter Ubuntu 10.04 zu installieren, finden Sie Anweisungen zur Installation von zlib auf der rvm-Website http://rvm.beginrescueend.com/packages/zlib/.

Die Schritte sind:

rvm pkg install zlib

(oder rvm package install zlibwenn Sie "FEHLER: Nicht erkanntes Befehlszeilenargument: 'pkg'" erhalten - ältere Versionen von rvm verwendeten stattdessen das Verb 'package')

dann

rvm remove 1.9.1
rvm install 1.9.1

33
großartig, der gleiche Ansatz hat bei mir mit einer kleinen Variation für 1.9.2 funktioniert: vm package install zlib; rvm entferne 1.9.2-p0; rvm install 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
wunderbar, ich habe mich gefragt, warum rvm nicht mit debian funktioniert, obwohl zlib über apt installiert wurde
Martin DeMello

11
hatte die gleichen Probleme, fand schließlich, dass dies für mich funktioniert:vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog

Vielen Dank! Ich hatte das gleiche Problem. Ich musste nur "1.9.1" in Ubuntu durch "ree" ersetzen. +1!
Kikito

1
Vielen Dank für die Aufnahme der pkgzweiten Option!
Justin

52

Ich verwende Ubuntu 10.04 (Lucid), ich wollte Ruby 1.9.2 installieren, da 1.9.1 mit Rails nicht empfohlen wird. Also habe ich die Quelle für 1.9.2 heruntergeladen und entpackt / entarchiviert. Meine Quelldistribution ist Ruby-1.9.2-p0. Nachdem ich es ausgepackt hatte, baute ich zlib wie folgt:

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

das hat das Problem behoben. Dies ist ähnlich wie das, was andere Leute oben gepostet haben, aber nicht genau, also dachte ich mir, ich könnte genauso gut genau das posten, was ich getan habe, um es in Gang zu bringen.


2
Dies ist die beste Ressource, die ich gefunden habe. Ich habe Ruby von der Quelle ohne RVM installiert und bekomme ein Problem mit Zlib. Dieser Beitrag hilft sehr. Danke dir!
Cristian

1
Danke dir! Behebt das Problem unter 1.9.2-p136 / Ubuntu 10.04.1.
mgutz

Danke dir. Behebt das Problem auch unter 1.9.2-p180 / Red Hat 4.1.2-46.
Adelarsq

Dies funktionierte für Ubnutu 11.04 / Ruby 1.9.2-p180. Ich habe es versucht, apt-get install zlib1g zlib1g-devaber es hat nicht funktioniert (es ist möglich, dass zlib1g-deves nicht installiert wurde, bevor ich Ruby kompiliert habe).
Max Masnick

Scheint, als ob Sie dies brauchen, selbst wenn Sie Ruby von der Quelle installieren. Nicht sicher, warum es nicht standardmäßig installiert ist
Nimrodm

22

Ich habe das gleiche Problem in CentOS und behebe es, indem ich den folgenden Befehl ausführe:

Zunächst stelle ich sicher, dass zlib und zlib-devel existieren (wie viele oben vorgeschlagene).

yum install zlib zlib-devel

Zweitens habe ich die mit Ruby gelieferten zlib-Quellen neu kompiliert und installiert.

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

Diese Befehle scheinen das Problem zu beheben, dann führe ich aus gem update --systemund der Fehler mit zlib verschwand. Dann installiere ich Schienen mit Edelsteinschienen. Beachten Sie, dass ich gem zuvor installiert habe und nach dem Neukompilieren und Installieren von zlib weder neu kompiliere noch gem installiere (eigentlich wusste ich nicht, wie ich es deinstallieren soll, weil ich kein Skript dafür gefunden habe).

Das funktioniert bei mir ... hoffe es dir.

Grüße.


13

Versuchen

aptitude install zlib1g-dev

Dann gehen Sie Ihrem Geschäft nach.


Ich musste dies tatsächlich tun, bevor ich die mit Ruby Source gelieferte Zlib kompilieren konnte
Jeremy White

8

Ich mochte keine dieser Antworten wirklich ... keine konzentrierte sich wirklich auf die tatsächlichen Bedürfnisse und Fragen der Benutzer ... nur Leute, die erzählten, was sie taten ... kein Kontext und es funktionierte nicht einmal für mich ...

So, ..

Ich installiere eine neue Box Ubuntu 8.04 LTS 64-Bit ...

Also, ich ...

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  

Und dann habe ich dieses Problem mit ...

gem list

es funktioniert nicht ... etwas über zLib nicht gefunden Mist ...

Also, ich lese tatsächlich die README und finde, dass ich eine Datei bearbeiten muss ...

[my ruby source directory]/ext/Setup

und UN-KOMMENTIEREN Sie die Zeile mit zLib darin ... indem Sie das "#" in der ersten Spalte entfernen

Dann führe ich die Befehle erneut aus ... hier als Referenz enthalten ...

./configure
make  
install  
sudo make install  

und alles ist gut ... es ist logisch ... und es gibt keine "rvm" und andere ... "installiere einfach mehr Sachen, damit es funktioniert" -Lösungen.

Joet


Hilft mir nicht Ich habe auch die Readme-Datei gelesen und die Anweisungen befolgt, aber selbst nachdem ich immer noch keine Rubin-Edelsteine ​​zum Laufen gebracht habe, steht immer noch kein Zlib ...
Jenny

Tatsächlich ist die Antwort relevant, da dies ein häufiges Problem bei der Verwendung von rvm ist. Ihre Antwort ist besser für Leute geeignet, die kein RVM verwenden.
Foamdino

7

Gehen Sie einfach zum Ruby Source Package und entpacken Sie es.

Gehe zu / your-ruby-dir / ext / zlib

ruby extconf.rb
make
sudo make install

Wenn die Pakete fehlen, werden Sie darüber informiert, hauptsächlich libzlib-bezogene Pakete

Grüße

Saurabh



4

Ja, und das hat auch nicht funktioniert. Ich habe das von einer anderen Quelle bekommen, das hat es endlich für mich getan, wo die anderen Sachen versagt haben.

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

Installieren Sie die Rubinsteine ​​aus der Quelle neu

Trotzdem danke Jungs.


1
Ich hatte ein Problem beim Ausführen von extconf.rb. Es wurde (wahrscheinlich) durch die Installation von zlib-devel behoben.
Gregers

hier gilt das gleiche. Versuchte alles andere und schließlich rettete mich blue.sky.or.jp. Vielen Dank.
Abhishek

2

Das Problem ist, dass Ruby unter Ubuntu nicht gegen zlib erstellt wurde. Sie möchten einen Quell-Build erstellen, um Ruby zu installieren. Sie können dies mit tunapt-get source -b ruby


ok, wieder Linux Noob. Keine Ahnung, was du gerade gesagt hast. lol. Ich meine, ich verstehe den Befehl; aber was mache ich danach?
Paul

Nun, auch so viel hat nicht funktioniert. Ich habe den Fehler "Build-Befehl 'cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc' fehlgeschlagen" erhalten
Paul

2

Haben Sie versucht, apt-get libzlib-ruby zu installieren?

Installieren Sie auch Rubygems von Rubyforge. Ich mag das Rubygems-Paket in Ubuntu nicht.


2

Auf Debian (Squeeze):

libruby enthält zlib for ruby ​​unter all den anderen Dingen, die Sie benötigen, damit Ruby unter Debian richtig funktioniert. So...

apt-get install libruby

Dann...

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

Dies hat bei mir funktioniert, aber Ihr Kilometerstand kann variieren. Ich machte eine leichte Schrotflinten-Annäherung an Zlib, bevor ich feststellte, dass alles, was benötigt wurde, von Libruby bedeckt war.


1

Sie können versuchen, das Ruby Enterprise Deb-Paket von der Phusion- Site herunterzuladen . Und Passagier durch das Paket installieren. Folgen Sie den Anweisungen hier . Oder versuchen Sie es mit dem Bash-Skript, das Sie hier finden .


0

Beim Ausführen von Rails würde ich die Verwendung von Ruby 1.8.8dev nicht empfehlen. Halten Sie sich an 1.8.6, vorzugsweise die Ruby Enterprise Edition. Sehen Sie sich diesen Beitrag auf RailsLab an, was andere Benutzer verwenden.

Wenn Sie auf High-Tech bestehen, installieren Sie Ruby 1.9.1.

Aber in beiden Fällen bauen Sie es selbst oder verwenden Sie Marans Vorschlag.


Dies ist ein schlechter Rat. Verwenden Sie 1.9.1 NICHT mit Schienen. 1.9.2+ funktioniert jedoch einwandfrei.
Xaxxon

Dieser Kommentar wurde vor 2 Jahren abgegeben ... Jetzt wäre 1.9.3 natürlich der richtige Weg.
Schaden

Klar, damit bin ich einverstanden. Aber es ist wichtig, dass jemand weiß, dass es falsch ist.
Xaxxon
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.