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.
Antworten:
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:
(oder
rvm package install zlib
wenn Sie "FEHLER: Nicht erkanntes Befehlszeilenargument: 'pkg'" erhalten - ältere Versionen von rvm verwendeten stattdessen das Verb 'package')dann
quelle
vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
pkg
zweiten Option!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:
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.
quelle
apt-get install zlib1g zlib1g-dev
aber es hat nicht funktioniert (es ist möglich, dasszlib1g-dev
es nicht installiert wurde, bevor ich Ruby kompiliert habe).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).
Zweitens habe ich die mit Ruby gelieferten zlib-Quellen neu kompiliert und installiert.
Diese Befehle scheinen das Problem zu beheben, dann führe ich aus
gem update --system
und 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.
quelle
Versuchen
Dann gehen Sie Ihrem Geschäft nach.
quelle
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 ...
Und dann habe ich dieses Problem mit ...
es funktioniert nicht ... etwas über zLib nicht gefunden Mist ...
Also, ich lese tatsächlich die README und finde, dass ich eine Datei bearbeiten muss ...
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 ...
und alles ist gut ... es ist logisch ... und es gibt keine "rvm" und andere ... "installiere einfach mehr Sachen, damit es funktioniert" -Lösungen.
Joet
quelle
Gehen Sie einfach zum Ruby Source Package und entpacken Sie es.
Gehe zu / your-ruby-dir / ext / zlib
Wenn die Pakete fehlen, werden Sie darüber informiert, hauptsächlich libzlib-bezogene Pakete
Grüße
Saurabh
quelle
Das hat es geschafft. Nach zahlreichen Verfolgungsjagden bin ich froh, diese Seite gefunden zu haben.
quelle
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.
Installieren Sie die Rubinsteine aus der Quelle neu
Trotzdem danke Jungs.
quelle
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 tun
apt-get source -b ruby
quelle
Haben Sie versucht, apt-get libzlib-ruby zu installieren?
Installieren Sie auch Rubygems von Rubyforge. Ich mag das Rubygems-Paket in Ubuntu nicht.
quelle
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...
Dann...
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.
quelle
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 .
quelle
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.
quelle