kann eine solche Datei nicht laden - zlib auch nach Verwendung von rvm pkg install zlib


112

Ich habe zlib package und ruby ​​1.9.3 mit rvm installiert, aber wann immer ich versuche, gems zu installieren, heißt es cannot load such file -- zlib

Die Befehle, die ich zur Installation verwendet habe, sind

$ rvm install 1.9.3
$ rvm pkg installiere zlib

$ rvm neu installieren 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 benutze 1.9.3

$ gem install heroku
FEHLER: Ladebefehl: install (LoadError)
    kann solche Datei nicht laden - zlib
FEHLER: Während der Ausführung von gem ... (NameError)
    nicht initialisierte Konstante Gem :: Commands :: InstallCommand

Die ganze Hilfe zu diesem Thema sagt mir, ich soll es einfach tun rvm pkg install zlibund dann den Rubin mit neu installieren --with-zlib-dir=/home/username/.rvm/usr, aber das hat nicht funktioniert.

Antworten:


201

Am Ende habe ich zlib von apt-get installiert und dann rubin neu installiert, um das rvm-Verzeichnis für zlib nicht zu verwenden.

So geht's:

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

[Bearbeiten] Wie Kommentator @chrisfinne erwähnt, auf CentOS / RedHat-basierten Systemen:

$ sudo yum install zlib-devel
$ rvm reinstall 1.9.3

21
oder sudo yum install zlib-devel
chris finne

4
Unabhängig vom Betriebssystem ist der Rat von @chrisfinne immer noch nützlich (zumindest für mich)!

Hat perfekt für mich funktioniert. Obwohl ich noch einmal neu kompilieren musste, da mir auch libssl-dev fehlte (ich brauchte es, weil rvm die Ruby-Quellen über HTTPS abrufen wollte) :-)
tr9sh

9

Die beiden anderen Antworten waren fast richtig ...

Die RVM-Site für zlib bietet eine schnelle Lösung!

Oben auf der Seite befindet sich eine "Schnellkorrektur", die den Anweisungen folgt.

  • Reparieren Sie Ihre Installation,
  • Geben Sie Anweisungen, wie Sie zlib von Ihrem System installieren können
  • und zeigen, wie man Ruby neu installiert

1

Ruby hat eine Reihe von Paketabhängigkeiten wie die von zlib-devel. Sie sind böse, weil nichts darauf hindeutet, dass Sie die Bibliothek benötigen, bis eine obskure Fehlermeldung angezeigt wird, während Sie versuchen, etwas Routine zu tun.

Die Lösung besteht darin, rvm zu verwenden . Verwenden Sie es auch, wenn Sie nur eine Version von Ruby benötigen. Warum? Denn dann kannst du es tun

rvm requirements

Dadurch wird Ihr spezielles Betriebssystem überprüft und eine Reihe von Befehlen erstellt, die Sie in die Befehlszeile zurückkopieren können, um die fehlenden Pakete zu installieren.


1

Verwenden Sie Autolibs, um Abhängigkeiten zu installieren:

rvm autolibs enable
rvm reinstall 1.9.3

RVM installiert automatisch fehlende Abhängigkeiten und verwendet sie zum Kompilieren von Ruby.

Weitere Details zu autolibs => http://rvm.io/rvm/autolibs


1
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

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.