2010-03-01 6 views
0

J'essaie d'exécuter un fichier ruby ​​qui importe une gemme. Le petit bijou de ya2yaml est installé, mais en quelque sorte, il ne se trouve pas:Quel est le problème avec ma configuration rubis gemmes?

 
$ cat delme.rb 
require 'rubygems' 
require 'ya2yaml' 

$ ruby delme.rb 
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- ya2yaml (LoadError) 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' 
     from delme.rb:2

J'ai installé la pierre en utilisant:

sudo gem install ya2yaml
et je sais que la pierre précieuse est réellement installé:

$ gem list --local | grep ya2yaml 
ya2yaml (0.26)

En outre, les travaux suivants de un programme de rails que je viens de télécharger:

 
sudo rake gems
Cependant, les échecs suivants:
rake gems
Ce qui me conduit à penser qu'il peut y avoir un problème de permissions quelque part.

Pourquoi la gemme ne peut-elle pas être trouvée? Que puis-je faire pour diagnostiquer cela?

Merci!

+1

Est-ce que d'autres gemmes fonctionnent normalement? –

+0

Certains le font, d'autres non. Les listes suivantes de nombreux gems qui ont des problèmes: pour gem dans 'gem list --local | sed -e "s /. * //" '; faire ruby ​​-rrubygems -e "require '$ gem'"; fait grep 'aucun fichier de ce type à charger' – lowellk

+0

Désolé, je ne peux pas vous aider plus loin.Cependant, pour aider d'autres personnes à identifier votre problème, vous pouvez indiquer votre version de ruby, votre système d'exploitation, et comment vous avez installé ruby. –

Répondre

0

J'ai certainement déjà vu cette erreur. Malheureusement, je ne sais pas ce qui le cause. Je sais que si vous le voyez sur Linux et que vous avez installé gem via votre gestionnaire de paquets (synaptic/yum/etc) alors vous pouvez généralement le réparer en installant gem à la main depuis leur site web. Les instructions sont assez simples. Linux, puis:

MISE À JOUR

(. Si vous êtes sur un Mac, il vaut certainement la peine d'essayer quand même votre ligne de commande semble unix-y, il me semble que vous pouvez être sur Linux.). Ta.

1

La chose que je ferais dans une situation comme celle-ci:

  1. Rechercher l'emplacement de la pierre sur votre système. Utilisez cette commande:

    find/-name ya2yaml

  2. Vérifiez que le répertoire trouvé est ajouté à votre variable système PATH en faisant ceci:

    echo $ PATH

  3. Si le chemin où se trouve ga2yaml n'est pas répertorié dans la valeur de la variable PATH, ajoutez-le:

    PATH = $ PATH:/gem/emplacement/répertoire

    export PATH

J'espère que vous trouverez ces étapes utiles. Bonne chance!

0

Au lieu de l'intérieur require 'rubygems' delme.rb, essayez rubis commençant par -rubygems:

$ ruby -rubygems delme.rb 
Questions connexes