Ich habe rvm verwendet, um Ruby 1.9.3 zu installieren. Obwohl es erfolgreich installiert wurde, beschwerte es sich über libyaml. und jetzt wird jedes Mal, wenn ich einen Edelstein installieren möchte (z. B. Schienen), diese Warnung angezeigt:
It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.
Ich benutze Mac OS X 10.7 (Lion).
ruby-on-rails
ruby
macos
rvm
Pouya
quelle
quelle
brew doctor
. Gibt es ein Problem mit libyaml link?rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
Wie in der offiziellen Homebrew-Core Gtihub ProblemAntworten:
In meinem Fall
und
Problem gelöst.
Stellen Sie für Benutzer von Ubuntu sicher, dass
libtool
es vor den obigen Schritten installiert ist:Für MacOS-Benutzer (mit Homebrew):
quelle
rvm package install libyaml
rvm pkg install libyaml
. Vonrvm usage
:pkg :: Install a dependency package {readline,iconv,zlib,openssl}
.package
.rvm pkg install libyaml
wird empfohlen, alle Rubine mit neu zu installierenrvm reinstall all --force
. Es kann nützlich sein, wenn Sie mehr als eine haben.rvm reinstall 1.9.3 --with-libyaml-dir=/home/rails/.rvm/usr
wie in serverfault.com/questions/442150/…für ubuntu und rvm
hat funktioniert
quelle
Wenn Sie nicht rvm verwenden, sondern Ruby 1.9.3 von Grund auf neu erstellen und installieren - zum Beispiel, wenn Sie Ihre Ruby-Versionen mit rbenv verwalten - müssen Sie zuerst libyaml installieren. Erhalten Sie es von http://pyyaml.org/ ; Die gewünschte Datei lautet derzeit http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz . Öffnen Sie den Tarball und die CD in den resultierenden Ordner. Dann:
Sie sind jetzt bereit, Rubin zu bauen. Laden Sie Ruby von http://ftp.ruby-lang.org/pub/ruby/ herunter . Öffnen Sie den Tarball und die CD in den resultierenden Ordner. Jetzt:
(Oder möglicherweise
sudo make install
, je nachdem, wo Sie es ablegen.) Wenn Sie rbenv verwenden, wissen Sie, dass es funktioniert hat, wenn Sie zurbenv global 1.9.3-p194
(oder wie auch immer Ihre Version heißt) wechseln undgem --version
ohne Warnung funktionieren. Das hat bei mir unter Mac OS X 10.6.8 funktioniert. ( Update : Ich habe es gerade unter Mac OS X 10.8.1 versucht und es scheint auch dort gut funktioniert zu haben.)quelle
gem --version
Klänge stimmen, aber vielleicht haben Sie Ihren Weg wegen der früheren Verwendung von rvm/usr/local
bei der Konfiguration von yaml an und konfigurieren Sie ruby mit--with-opt-dir=/path/to/yaml/prefix --with-yaml --prefix=/path/to/ruby/prefix
Hat bei mir funktioniert (bei Snow Leopard).
quelle
In meinem Fall bestand die Lösung darin, den
psych
Edelstein zur Gemfile hinzuzufügen.quelle
Ich hatte dieses Problem. libyaml würde nicht kompilieren. Es stellte sich heraus, dass mir libtool fehlte.
Das hat mein Problem gelöst.
quelle
Wenn Sie Ruby unter MacOS mit Homebrew installiert haben, versuchen Sie diese Lösung .
rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
Beachten Sie, dass dadurch alle installierten Edelsteine entfernt werden. Speichern Sie am besten eine Liste der installierten Edelsteine mit,
gem list
bevor Sie dies ausführen.quelle
gem list
ist es, was den Fehler an erster Stelle verursacht (für mich).quelle
brew doctor
Probleme hat das Problem für mich behoben. Ich habe beim Versuch einen Fehler erhalten, der dem Fehler des Fragestellers sehr ähnlich istgem install jekyll
. Alle Befehle über rvm gaben ebenfalls Fehler. Das zugrunde liegende und nicht so offensichtliche Problem ist, dass Homebrew, ich gehe davon aus, dass die Mittel, mit denen rvm Sachen installiert, Probleme hatten. Ich hatte kürzlich ein Upgrade auf Mavericks unter Mac OS durchgeführt. In meinem Fall wurde durch die Behebung allerbrew doctor
Probleme jede einzelne Fehlermeldung beseitigt. Jetzt funktioniert alles reibungslos.Ich habe das endlich behoben. Das Problem war, dass obwohl ich libyaml mit Brew installiert habe, es nie verknüpft wurde. Ich musste eine widersprüchliche Header-Datei entfernen und dann
brew link libyaml
.quelle
Wenn Sie Ruby mit rvm für Mac OSX installieren, verwenden Sie Autolibs, um libyaml zu installieren, und helfen Sie zuerst, libyaml zu deinstallieren.
Das hat bei mir funktioniert:
quelle
Ich hatte das gleiche Problem (Lion 10.7.4) und habe es behoben, indem ich rvm aktualisiert und Ruby neu installiert habe
1) Upgrade von rvm https://rvm.io//rvm/install/
2) Verwenden Sie dann rvm, um Ruby 1.9.3 (das zuvor mit der früheren Version von rvm installiert wurde) neu zu installieren.
quelle
Ich habe Ruby 1.9.3 mit libyaml-Unterstützung neu installiert:
Ich habe vor der Installation von psych sichergestellt, dass ich 1.9.3 verwenden würde:
Ich habe psych installiert:
quelle
Laden Sie Ihre .rvmrc neu (CD aus, CD ein)
quelle
Keine dieser Antworten hat bei mir funktioniert.
Ich habe meine Antwort unter https://github.com/sstephenson/ruby-build/issues/119 gefunden. Ich bin auf Centos 6.3 Virtual Machine.
Sie müssen libyaml installieren, bevor Sie Ruby installieren. Wenn Sie Ruby bereits installiert haben, müssen Sie die Dateien entfernen, bevor Sie die Quelle erneut kompilieren !!!
quelle
Ich habe die libyaml-Dateien getrennt von der Quelle erstellt und sie in / usr / local / lib installiert. Der von RVM erstellte Rubin hat sie immer noch nicht gesehen, und anstatt mit dem Makefile oder dem System LD_LIBRARY_PATH zu mischen, habe ich gerade / usr / local / lib / libyaml * nach ~ / .rvm / rubies / ruby-1.9.3-p327 / kopiert lib /
Das beruhigte die Warnung.
quelle
Dies ist, was für mich unter Ubuntu funktioniert hat:
- Installation von libyaml-dev (sudo apt-get install libyaml-dev)
- Installation von rvm + ruby 1.9.3
quelle
Ich habe all diese Antworten ausprobiert und konnte es immer noch nicht zum Laufen bringen. Ich habe libyaml mit Homebrew installiert und dann Ruby 1.9.3 und 2.0.0 mit rvm installiert. Jedes Mal beschwerte es sich, dass mir psych (libyaml) fehlte. Beim Versuch, libyaml zu installieren, wurde mir jedoch mitgeteilt, dass es bereits installiert war. Spülen, wiederholen. Urgh.
Schließlich habe ich libyaml deinstalliert . Dann habe ich Autolibs in rvm aktiviert , wodurch (zumindest in OSX) rvm Abhängigkeiten direkter installieren und verwalten kann. Als ich nun die Rubine installierte, konnte rvm libyaml installieren und erkennen, dass es an der richtigen Stelle war.
Wenn Sie also alle anderen Optionen ausprobiert haben, versuchen Sie , libyaml tatsächlich zu entfernen und dann Ihre Rubine zu installieren. Aus den Fehlermeldungen geht hervor, dass es sich um eine Zählung handelt, aber genau das hat bei mir funktioniert.
quelle
Ich hatte das gleiche Problem ( Cent OS 5.7 ), keine der oben genannten Lösungen hat bei mir funktioniert.
Nach mehreren Neuinstallationen wurde mir klar, dass nach Yaml in der Ruby-Version von
1.9.1
statt nach Yaml gesucht wird1.9.3
. Also habe ich ein Downgrade durchgeführtUnd es hat 8D funktioniert!
quelle
Unter CentOS 6.3 funktionierte keines der oben genannten Verfahren. Die Installation von libyaml aus dem Quellcode vor der Installation von Ruby hat das Problem jedoch behoben.
und dann
quelle
Ich benutze
und bekam auch den folgenden Fehler während der Bundle-Installation
Hier sind drei verschiedene Möglichkeiten, um diesen Fehler zu beheben, ohne dass psych installiert werden muss
alter /etc/ld.so.conf
Fix rvm ruby 1.9.3 Installation über
quelle
Ich hatte auch
rvm install ruby-2.0.0
viele, viele Stunden lang mit den gleichen Fehlern zu kämpfen. Ich hatte all die verschiedenen Methoden ausprobiert, um libyaml zu installieren.wget source
,yum
Undrvm
. Ich habe auch all die verschiedenen Ansätze ausprobiert, die in ähnlichen Threads aufgeführt sind. Da ich all die verschiedenen Methoden ausprobiert habe, hatte ich mehrere Installationen und Speicherorte von libyaml.RVM ist perfekt in der Lage, die erforderlichen Abhängigkeiten in zu installieren
~/.rvm
. Durch einfaches Entfernen der libyaml-Dateien aus der Nicht-RVM-Installation wurde dieses Problem für mich behoben:Funktioniert!
quelle
NON-RVM Ruby Installationsmethode.
Deaktivieren Sie rpmforge, indem Sie diese Datei bearbeiten und enabled = 0% sudo vi /etc/yum.repos.d/rpmforge.repo setzen
Die libyaml-Entwicklung ist der Schlüssel.
Aktualisieren Sie Ihren Pfad und die Quelle .cshrc
Stellen Sie Ihr GEM_HOME in .cshrc und source ein
quelle
Wenn Sie Ruby aus dem Quellcode erstellen (ich habe 1.9.3 auf Fedora 20 erstellt), benötigen Sie dies, bevor Sie die Konfiguration / Erstellung zum Erstellen von Ruby ausführen:
(Zusätzlich zu yum install libyaml.) Ähnlich wie Francis 'Antwort mit rpmforge oben.
quelle
Ich hatte diesen Fehler und bemerkte, dass ich verschiedene Versionen von Ruby mit HomeBrew installiert hatte, zusammen mit vielen Edelsteinen, die ich nicht mehr verwendete. So wurde eine vollständige Bereinigung wie folgt durchgeführt:
Wenn Sie a nicht verwenden
Gemfile
, stellen Sie sicher, dass Sie wissen, welche Edelsteine neu installiert werden müssen.quelle
In meinem Fall alles , was ich tun musste , war
Nun FWIW,
gem list
enthältquelle
Ich habe ein paar Stunden damit verbracht, meinen Fehler zu beseitigen, und keine der Antworten hier passte zu meinem Fall, also dachte ich, ich würde posten, wie ich ihn gelöst habe ...
In meinem Fall hatte ich beim Ausführen
gem list | grep psych
die folgende Ausgabe :psych(default: 3.1.0, default: 3.0.2)
.Anscheinend hängt Ruby seit Version 2.5.0 von der neueren Version von psych (3.1.0) ab, und beide als Standard festgelegt zu haben, hat alles durcheinander gebracht. Beachten Sie, dass ich nie herausgefunden habe, warum beide als Standard festgelegt wurden. Aus diesem Grund habe ich die RVM- und Ruby-Versionen von meinem Computer vollständig gelöscht.
Um die ältere Version (3.0.2) nicht mehr als Standard festzulegen, gehen Sie zu
~/.rvm/gems/ruby-x.x.x@global/specifications/default
. Wenn Sie ausführenls | grep psych
, werden hier beide Versionen des Edelsteins zurückgegeben. Wenn Sie 3.1.0 als Standard beibehalten möchten, führen Sie es einfach ausmv psych-3.0.2.gemspec ../
und versuchengemlist
Sie es dann , um sicherzustellen, dass jetzt nur eine Version als Standard aufgeführt ist ...tl; dr
cd /.rvm/gems/ruby-x.x.x@global/specifications/default
mv psych-3.0.2 ../
Hoffe das hilft jemandem!
quelle
Bei Snow Leopard hat die Lösung von Catharz bei mir nicht funktioniert. Diese Lösung hat jedoch:
(Die Neuinstallation von rvm hat mich gewarnt, dass clang nicht die Option "--with-libyaml" hat, aber die Fehlermeldung wurde trotzdem behoben.)
quelle
Das hat bei mir zumindest unter Ubuntu 10.04 funktioniert
$ sudo apt-get install libtool
$ rvm neu installieren 1.9.3
quelle
Unter Solaris:
zum
/usr/local/lib
Suchpfad der gemeinsam genutzten Bibliothek hinzufügen (siehe man crle)quelle
Als ich unter Snow Leopard 10.6.8 von 64 Bit auf 32 Bit umschaltete, hatte ich Ruby (verwendet rvm) neu installiert, um auf 32 Bit zu laufen, und hatte das gleiche Problem. Also 'bereinige' ich einfach alles, was vorher von rvm zwischengespeichert und Probleme gelöst wurden. Hoffe, dieser Tipp kann jemandem helfen.
Übrigens, wenn Sie immer noch auf dieses Problem stoßen, können Sie es versuchen:
quelle