wake-up-neo.com

Ubuntu Rails Installation schlägt auf zlib fehl

Ich bin gerade auf Ubuntu 8.10 umgestiegen als meine Entwickler-Box; Es ist mein erster ernsthafter Einstieg in Linux als Betriebssystem für den täglichen Gebrauch, und es fällt mir schwer, Rails loszulegen. Ich habe eine Reihe von Tutorials durchgearbeitet, 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 so 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 Geschmacksrichtungen als meine), aber sie haben nicht geholfen.

Ich bin auf Ubuntu 8.10, Ruby version 1.8.8dev gem version 1.3.2

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

129
Paul

Wenn Sie auf diese Frage stoßen und versuchen, Ruby= mit Ruby Versionsmanager (RVM)) auf 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 zlib wenn Sie "ERROR: Unbekanntes Kommandozeilenargument: 'pkg'" bekommen - ältere Versionen von rvm verwendeten stattdessen das Verb 'package')

dann

rvm remove 1.9.1
rvm install 1.9.1
297
JosephL

Ich benutze Ubuntu 10.04 (Lucid), ich wollte Ruby= 1.9.2 installieren, da 1.9.1 mit Rails nicht empfohlen wird. Also habe ich den Quellcode für 1.9.2 heruntergeladen und entpackt/entpackt Meine Quell-Distribution ist Ruby-1.9.2-p0. Nachdem ich es entpackt habe, habe ich zlib wie folgt erstellt:

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.

52
AdrianVeidt

Ich habe das gleiche Problem in CentOS und behebe es durch Ausführen des folgenden Befehls:

Zuerst stelle ich sicher, dass zlib und zlib-devel existieren (wie viele oben vorgeschlagenen).

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 gem update --system und der Fehler mit zlib ist verschwunden. Dann installiere ich Rails mit gem install Rails. Zu erwähnen ist, dass ich gem vor und nach dem erneuten Kompilieren und Installieren von zlib nicht erneut kompiliert habe und auch nicht gem installiert habe (eigentlich wusste ich nicht wie deinstalliere es, weil ich kein Skript dafür gefunden habe)

Das funktioniert bei mir ... hoffe dir zu.

Grüße.

22
Daniel

versuchen

aptitude install zlib1g-dev

Dann gehen Sie Ihrem Geschäft nach.

13
Dan

Ich mochte keine dieser Antworten wirklich ... keine konzentrierte sich wirklich auf die tatsächlichen Bedürfnisse und Fragen des Benutzers ... nur Leute, die erzählen, was sie getan haben ... kein Kontext und es hat nicht einmal für mich funktioniert ...

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 DEKOMMENTIEREN Sie die Zeile mit zLib ... 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 fehlt "rvm" und anderes ... "installiere einfach mehr Zeug, damit es funktioniert" typ lösungen.

Joet

8
Knowself

Gehen Sie einfach zu Ruby Source Package, entpacken Sie es.

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

Ruby extconf.rb
make
Sudo make install

Wenn die Pakete fehlen, werden Sie darauf hingewiesen, hauptsächlich auf libzlib bezogene Pakete

Grüße

Saurabh

7
Saurabh
rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1

Das hat es geschafft. Nach zahlreichen Verfolgungsjagden mit wilden Gänsen bin ich froh, diese Seite gefunden zu haben.

6
Rod McLaughlin

ja, und das hat auch nicht funktioniert. Habe dies von einer anderen Quelle bekommen, dies hat es schließlich für mich getan, wo das andere Zeug versagt hat.

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 Ruby gems from source neu

Trotzdem danke Jungs.

4
Paul

Unter Debian (Squeeze):

libruby enthält zlib für Ruby unter all den anderen Sachen, die Sie brauchen, um Ruby unter Debian richtig zu funktionieren. Also ...

apt-get install libruby

Dann...

cd /usr/local/src/Ruby
make clean
make
make install
cd ../rubygems
Ruby setup.rb
gem install Rails

Das hat bei mir funktioniert, aber Ihre Laufleistung kann variieren. Ich habe mich mit einer leichten Schrotflinte an zlib gewandt, bevor ich herausfand, dass alles, was ich brauchte, von Libruby abgedeckt war.

2
Tryst

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

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

2
nkassis

Das Problem ist, dass Ruby unter Ubuntu nicht gegen zlib erstellt wurde; Sie sollten einen Quellcode erstellen, um Ruby zu installieren. Sie können dies mit apt-get source -b Ruby Tun.

2
Don Werve

Sie können versuchen, das Enterprise-Deb-Paket Ruby auf der Website phusion herunterzuladen. Installieren Sie Passenger über das Paket. Befolgen Sie die Anweisungen hier . Oder Sie könnten das gefundene Bash-Skript ausprobieren hier .

1
Maran

Beim Laufen von Rails Ich würde nicht empfehlen, Ruby 1.8.8dev. Stick mit 1.8.6, vorzugsweise die Ruby Enterprise Ausgabe. Siehe diesen Beitrag auf RailsLab was andere Leute benutzen.

Wenn Sie auf Hightech bestehen, installieren Sie Ruby 1.9.1.

Aber in beiden Fällen baue es selbst oder verwende Marans Vorschlag.

0
harm