J'ai utilisé rvm pour installer ruby 1.9.3. même s'il a été installé avec succès, il s'est plaint de libyaml. et maintenant, chaque fois que je veux installer un bijou (disons des rails), cet avertissement apparaît:
It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.
J'utilise Mac os X 10.7 (Lion).
ruby-on-rails
ruby
macos
rvm
Pouya
la source
la source
brew doctor
. Est-ce qu'il répertorie un problème avec le lien libyaml?rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
comme indiqué dans le problème officiel de Gtihub homebrew-core résoluRéponses:
Dans mon cas
et
résolu le problème.
Pour les personnes utilisant Ubuntu, assurez-vous qu'il
libtool
est installé avant les étapes ci-dessus:Pour les utilisateurs de macOS (avec homebrew):
la source
rvm package install libyaml
rvm pkg install libyaml
. Dervm usage
:pkg :: Install a dependency package {readline,iconv,zlib,openssl}
.package
.rvm pkg install libyaml
il recommande de réinstaller tous les rubis avecrvm reinstall all --force
. Cela peut être utile si vous en avez plusieurs.rvm reinstall 1.9.3 --with-libyaml-dir=/home/rails/.rvm/usr
comme suggéré dans serverfault.com/questions/442150/…pour ubuntu et rvm
travaillé
la source
Si vous n'utilisez pas rvm, mais que vous construisez et installez ruby 1.9.3 à partir de zéro - par exemple, vous gérez vos versions ruby avec rbenv - vous devez d'abord installer libyaml. Obtenez-le sur http://pyyaml.org/ ; pour le moment, le fichier que vous voulez est http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz . Ouvrez l'archive tar et le CD dans le dossier résultant. Ensuite:
Vous êtes maintenant prêt à créer du rubis. Téléchargez ruby depuis http://ftp.ruby-lang.org/pub/ruby/ . Ouvrez l'archive tar et le CD dans le dossier résultant. Maintenant:
(Ou peut
sudo make install
- être , selon l'endroit où vous le mettez.) Si vous utilisez rbenv, vous saurez que cela a fonctionné si vous passez àrbenv global 1.9.3-p194
(ou quel que soit le nom de votre version) etgem --version
fonctionne sans avertissement. Cela a fonctionné pour moi sur Mac OS X 10.6.8. ( Mise à jour : je viens d'essayer ceci sur Mac OS X 10.8.1 et cela semble avoir bien fonctionné là aussi.)la source
gem --version
sons sont corrects, mais peut-être que vous avez votre chemin embrouillé à cause de l'utilisation antérieure de rvm/usr/local
lors de la configuration de yaml, puis configurez ruby avec--with-opt-dir=/path/to/yaml/prefix --with-yaml --prefix=/path/to/ruby/prefix
C'est ce qui a fonctionné pour moi (sur Snow Leopard).
la source
Dans mon cas, la solution était d'ajouter la
psych
gemme au Gemfile.la source
J'ai eu ce problème. libyaml ne compilerait pas. Il s'est avéré que je manquais libtool.
Cela a résolu mon problème.
la source
Si vous avez installé ruby sur macOS avec homebrew, essayez cette solution .
rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
Notez que cela éliminera toutes les gemmes installées. Il vaut mieux enregistrer une liste des gemmes installées avec
gem list
avant de l'exécuter.la source
gem list
c'est ce qui cause l'erreur en premier lieu (pour moi).la source
brew doctor
problèmes l'a résolu pour moi. J'ai eu une erreur très similaire à celle du questionneur en essayant de le fairegem install jekyll
. Toutes les commandes via rvm donnaient également des erreurs. Le problème sous-jacent et pas si évident est que l'homebrew, je suppose que le moyen par lequel rvm installe des choses, avait des problèmes. J'avais récemment mis à niveau vers Mavericks sur Mac OS. Dans mon cas, la résolution de tous lesbrew doctor
problèmes a éliminé chaque message d'erreur. Maintenant, tout fonctionne correctement.J'ai enfin résolu ce problème. Le problème était que même si j'avais installé libyaml avec brew, il n'était jamais lié. J'ai dû supprimer un fichier d'en-tête en conflit, puis
brew link libyaml
.la source
Installer ruby avec rvm pour mac osx, utiliser autolibs pour installer libyaml et la première désinstallation de libyaml aide.
Cela a fonctionné pour moi:
la source
J'ai eu le même problème (Lion 10.7.4), et je l'ai résolu en mettant à jour rvm puis en réinstallant ruby
1) mettre à niveau rvm https://rvm.io//rvm/install/
2) Ensuite, utilisez rvm pour réinstaller ruby 1.9.3 (qui avait été précédemment installé avec la version antérieure de rvm)
la source
J'ai réinstallé ruby 1.9.3 avec le support libyaml:
Je me suis assuré que j'utiliserais 1.9.3 avant d'installer psych:
J'ai installé psych:
la source
rechargez votre .rvmrc (sortie cd, entrée cd)
la source
Aucune de ces réponses n'a fonctionné pour moi.
J'ai trouvé ma réponse sur https://github.com/sstephenson/ruby-build/issues/119 Je suis sur la machine virtuelle Centos 6.3.
VOUS DEVEZ installer libyaml avant d'installer ruby. SI vous avez DÉJÀ installé ruby, vous devez vous débarrasser des fichiers avant de recompiler les sources !!!
la source
J'ai construit les fichiers libyaml séparément de la source et les ai installés dans / usr / local / lib. Le rubis que RVM a créé ne les a toujours pas vus, et plutôt que de bouffer avec le makefile ou le système LD_LIBRARY_PATH, j'ai juste copié / usr / local / lib / libyaml * dans ~ / .rvm / rubies / ruby-1.9.3-p327 / lib /
Cela a calmé l'avertissement.
la source
Voici ce qui a fonctionné pour moi sur Ubuntu:
- installer libyaml-dev (sudo apt-get install libyaml-dev)
- installer rvm + ruby 1.9.3
la source
J'ai essayé toutes ces réponses et je n'ai toujours pas réussi à le faire fonctionner. J'ai installé libyaml avec homebrew puis installé Ruby 1.9.3 et 2.0.0 avec rvm. A chaque fois, il se plaignait que je manquais de psych (libyaml). Mais essayer d'installer libyaml m'a dit qu'il était déjà installé. Rincez, répétez. Urgh.
Enfin, j'ai désinstallé libyaml. Ensuite, j'ai activé les autolibs dans rvm , ce qui (au moins sous OSX) permet à rvm d'installer et de gérer les dépendances plus directement. Maintenant, quand j'ai installé les Rubies, rvm a pu installer libyaml et reconnaître qu'il était au bon endroit.
Donc, si vous avez essayé toutes les autres options, essayez de supprimer libyaml, puis d'installer vos Rubies. Il est intuitif à partir des messages d'erreur, mais c'est ce qui a finalement fonctionné pour moi.
la source
J'ai eu le même problème ( Cent OS 5.7 ), aucune des solutions ci-dessus n'a fonctionné pour moi.
Après avoir fait plusieurs réinstallations, j'ai réalisé qu'il recherchait yaml dans la version ruby de
1.9.1
au lieu de1.9.3
. Alors j'ai déclasséEt cela a fonctionné 8D!
la source
Sur CentOS 6.3, rien de ce qui précède n'a fonctionné. Cependant, l'installation de libyaml à partir des sources avant d' installer ruby a résolu le problème.
puis
la source
j'utilise
et a également obtenu l'erreur suivante lors de l'installation du bundle
Voici trois façons différentes de résoudre cette erreur sans avoir à installer gem psych
modifier /etc/ld.so.conf
Correction de l'installation de RVM Ruby 1.9.3 via
la source
J'ai également lutté contre les mêmes échecs
rvm install ruby-2.0.0
pendant de nombreuses heures. J'avais essayé toutes les différentes méthodes pour installer libyaml;wget source
,yum
etrvm
. J'ai également essayé toutes les différentes approches répertoriées dans des fils similaires. Parce que j'ai essayé toutes les différentes méthodes, j'ai eu plusieurs installations et emplacements de libyaml.RVM est parfaitement capable d'installer les dépendances nécessaires dans
~/.rvm
. La simple suppression des fichiers libyaml d'une installation non-RVM a résolu ce problème pour moi:Travaux!
la source
Méthode d'installation ruby NON-RVM.
DÉSACTIVEZ rpmforge en éditant ce fichier et définissez enabled = 0% sudo vi /etc/yum.repos.d/rpmforge.repo
Le libyaml-devel est la clé.
Mettez à jour votre chemin et votre source .cshrc
Définissez votre GEM_HOME dans .cshrc et source
la source
Si vous construisez ruby à partir des sources (j'ai construit la 1.9.3 sur Fedora 20), vous en aurez besoin avant de faire la configuration / la création pour construire ruby:
(en plus de yum install libyaml.) Similaire à la réponse de Francis utilisant rpmforge ci-dessus.
la source
J'avais cette erreur et j'ai remarqué que j'avais différentes versions de Ruby installées avec HomeBrew, ainsi que de nombreuses gemmes que je n'utilisais plus. Alors a fait un nettoyage complet comme ceci:
Si vous n'utilisez pas a
Gemfile
, assurez-vous de savoir quelles gemmes réinstaller.la source
Dans mon cas, tout ce que j'avais à faire était
Maintenant, FWIW,
gem list
comprendla source
J'ai passé quelques heures à essayer de faire disparaître mon erreur et aucune des réponses ici ne convenait à mon cas, alors j'ai pensé que je publierais comment je l'ai résolu ...
Dans mon cas, lorsque j'ai couru
gem list | grep psych
, j'avais la sortie suivante:psych(default: 3.1.0, default: 3.0.2)
.Apparemment, depuis la version 2.5.0, ruby dépend de la version la plus récente de psych (3.1.0) et avoir les deux par défaut était tout gâcher. Notez que je n'ai jamais fini par découvrir pourquoi ils étaient tous les deux définis par défaut - j'ai complètement effacé les versions rvm et ruby de mon ordinateur à cause de cela.
Donc, pour supprimer l'ancienne version (3.0.2) par défaut, dirigez-vous vers
~/.rvm/gems/ruby-x.x.x@global/specifications/default
. Si vous l'exécutezls | grep psych
, les deux versions de la gemme seront renvoyées ici. Si vous souhaitez conserver 3.1.0 par défaut, exécutez simplementmv psych-3.0.2.gemspec ../
, puis essayez d'exécutergemlist
pour vous assurer qu'il ne répertorie qu'une seule version par défaut maintenant ...tl; dr
cd /.rvm/gems/ruby-x.x.x@global/specifications/default
mv psych-3.0.2 ../
J'espère que cela aide quelqu'un!
la source
Sur Snow Leopard, la solution de Catharz n'a pas fonctionné pour moi. Cette solution, cependant, a fait:
(La réinstallation de rvm m'a averti que clang n'avait pas l'option "--with-libyaml" mais a résolu le message d'erreur malgré tout.)
la source
Cela a fonctionné pour moi au moins sur Ubuntu 10.04
$ sudo apt-get install libtool
$ rvm réinstaller 1.9.3
la source
Sur Solaris:
à ajouter
/usr/local/lib
au chemin de recherche de la bibliothèque partagée (voir man crle)la source
Quand je suis passé de 64 bits à 32 bits sur Snow Leopard 10.6.8, j'avais réinstallé ruby (utilisé rvm) pour fonctionner sur 32 bits et rencontré le même problème. Donc, je viens de «nettoyer» tout ce qui avait été mis en cache par rvm auparavant et les problèmes résolus. J'espère que cette astuce peut aider quelqu'un.
BTW, si vous rencontrez toujours ce problème, je pense que vous pouvez essayer:
la source