Incapable de résoudre Ruby erreur (manque le psy)
Chaque fois que j'exécute quelque chose avec Ruby sur mon serveur, j'obtiens l'erreur suivante:
/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
J'ai installé Ruby à l'aide de RVM sur mon VPS.
J'ai essayé d'installer le paquet libyaml
en suivant les instructions dans d'autres questions sur Stack Overflow, en vain.
Je ne suis pas sûr de ce type de système de mon VPS est en cours d'exécution, mais il n'a pas la apt-get
de commande. Il n'ont yum
...
OriginalL'auteur | 2012-10-14
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème et l'installation de libyaml n'a pas aidé. Il s'est avéré que libyaml-devel avaient besoin d'un psy. J'ai été sur centos6 j'ai donc fait ceci:
rpm -Uvh atomic-release-1.0-14.el6.art.noarch.rpm
, j'obtiens:warning: atomic-release-1.0-14.el6.art.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 5ebd2744 error: Failed dependencies: rpmlib(FileDigests) <= 4.6.0-1 is needed by atomic-release-1.0-14.el6.art.noarch rpmlib(PayloadIsXz) <= 5.2-1 is needed by atomic-release-1.0-14.el6.art.noarch
Quel OS? Pourriez-vous exécuter dans un shell: uname-a et après la sortie de ici s'il vous plaît
Si c'est Fedora vous êtes en cours d'exécution, recherche rpm.pbone.net pour: libyaml-devel fedora tr / min - pour votre version. Par exemple, Fedora 16 x86_64 vous amène ici rpm.pbone.net/index.php3/stat/4/idpl/17341900/dir/fedora_16/com/....
Linux server9987 2.6.32-042stab049.6 #1 SMP Lun 6 Fév à 19:17:43 MSK 2012 i686 i686 i386 GNU/Linux
ok, de sorte que son serveur openvz. Peut-être que je ne devrais pas avoir souligné la x86_64 repo. désolé. Semble que vous pouvez obtenir libyaml-devel pour i386 dans ce repo: www6.atomicorp.com/channels/atomic/redhat/6/i386/RPMS/... .
OriginalL'auteur Julian Mann
Je suis en désaccord avec @JunaidKirkire dans le fait que je pense que vous exécutez CentOS ou Redhat 5, qui utilise une très vieille version de Ruby par défaut et je pense que l'utilisation RVM est une bien meilleure façon d'aller. Je crois que vous aurez juste besoin de compiler libyaml à partir des sources suivantes:
rvm pkg install libyaml
Cela vous indiquera le répertoire qu'il est en train de compiler, dans mon cas, c'est
/Users/ehowe/.rvm/usr
Ensuite, vous devez recompiler Ruby avec l'option suivante:
rvm reinstall 1.9.3 --with-libyaml-dir=$directory_that_rvm_installed_libyaml_to
Donc dans mon cas, je le ferais:
rvm install 1.9.3 --with-libyaml-dir=/Users/ehowe/.rvm/usr
Si vous exécutez rvm en tant que root, cela permet d'obtenir installé dans
/usr/local/rvm/usr
. Si vous l'exécutez en tant qu'utilisateur, comme il est recommandé, il serait/home/$user/.rvm/usr
rvm reinstall 1.9.3 --with-libyaml-dir=/usr/local/rvm/src/yaml-0.1.4
. Ou serait-ce seulement?rvm reinstall 1.9.3 --with-libyaml-dir=/usr/local/rvm
?Après l'exécution de
rvm pkg install libyaml
et puisrvm reinstall 1.9.3 --with-libyaml-dir=/usr/local/rvm/src/yaml-0.1.4
, je reçois toujours lepsych
avertissement.Vous devriez utiliser
/usr/local/rvm/usr
que le chemin d'accès.J'ai testé et ça a fonctionné.Je suis toujours la même erreur 🙁 d'autres idées?
Êtes-vous absolument sûr que vous avez utilisé le chemin d'accès correct? J'ai testé cela sur un propre CentOS 5.8 installer et il a travaillé pour moi. Pouvez-vous essayer de nouveau et de m'envoyer un résumé à la production complète du début à la fin?
OriginalL'auteur Eugene
Sur une RHEL distro basée sur comme CentOS 6.x vous avez besoin d'ajouter un autre référentiel yum, comme EPEL qui contiennent le libyaml-devel paquet.
Touches pour EPEL ou télécharger
TR /min pour EPEL
Plus d'infos:
Suggère également l'utilisation de yum-plugin-priorités
Ajouter EPEL Référentiel Yum
Installer libyaml-devel via yum
Paquets
OriginalL'auteur codemonkee
Le problème pourrait être résolu par l'installation
libyaml
. Ci-dessous sont les correspondants des paquets pour les distributions les plus populaires:libyaml
libyaml-dev
libyaml-devel
et aussi, vous devez installer les éléments suivants pour éviter des problèmes similaires à l'avenir:
“Pas de forfait libyaml disponible.”
rvm pkg install libyaml
fonctionne très bien.oui, il faut résoudre le problème. et si c'est le cas, veuillez cocher comme une réponse 🙂
libyaml installé avec
rvm pkg
, puis j'ai ré-installé Ruby 1.9.3 avecrvm
. Toujours le même problème.OriginalL'auteur Yasin
Dans le cas où les gens encore frappé cela, je le fixe à l'aide de la nouvelle autolibs fonctionnalité dans RVM, qui installe automatiquement les dépendances à l'aide de votre homebrew bibliothèques (découvrez
rvm help autolibs
pour info.)rvm reinstall 1.9.3 --autolibs=2
OriginalL'auteur Arrel
Vous semblent travailler sur Fedora. Vérifier l'officiel Ruby site web pour obtenir des instructions sur l'installation sur Fedora.
Essayez ce lien trop http://sraji.wordpress.com/2011/01/25/how-to-install-ruby-on-fedora-14/
Rubygems installés par défaut lors de l'installation de Ruby.
ruby -v
// ruby 1.8.5 (2006-08-25) [i386-linux].gem
// bash: gem: command not foundessayez ce lien technetra.com/2009/04/22/... Suivez les instructions ci-dessus et vous serez amende. Bonne chance.
Est-il de toute façon je peux trouver la dernière version de rubygems est qui va travailler avec ruby 1.8.5? Ou puis-je obtenir yum pour installer 1.9.3 en quelque sorte?
OriginalL'auteur JunaidKirkire
J'ai eu ce même libyaml problème avec CentOS 6.2
Faire...
Fixe pour moi.
(merci à @Eugene)
OriginalL'auteur max kaplan
Assurez-vous que votre Redhat machine dispose d'un abonnement en cours de validité:
État doit dire "Abonné". Si non, alors qui souffrent à travers l'obtention d'un login et peut-être l'achat d'un abonnement à https://access.redhat.com/management/consumers.
Quand c'est fait, exécutez
puis libyaml-devel va installer OK.
OriginalL'auteur Lindsay Morris