Procédé indéfini get_uptime pour facter :: Util :: Uptime: Module (NoMethodError)
Question
Je suis en train de configurer un nœud de marionnettes, mais rubygems ne semble pas se comporter.
Si je cours facter sur le cli via son propre binaire (/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter), il fonctionne très bien, mais si je le lance à travers la binaire installé par rubygems (/ usr / bin / facter), il lance:
/usr/lib/ruby/1.8/facter/uptime.rb:11: undefined method `get_uptime' for Facter::Util::Uptime:Module (NoMethodError)
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:73:in `load'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:73:in `load_file'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:38:in `load_all'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:33:in `each'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:33:in `load_all'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:30:in `each'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:30:in `load_all'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/collection.rb:90:in `load_all'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter.rb:95:in `to_hash'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter:137
from /usr/bin/facter:19:in `load'
from /usr/bin/facter:19
J'ai essayé de supprimer et de réinstaller rubygems ainsi que de réinstaller le bijou, mais rien ne semble fonctionner.
Je suppose que quelque chose est mis en mémoire cache quelque part, parce qu'il jette la même erreur quand je suis en train de courir marionnette.
Toutes les idées?
La solution
Il semble que vous avez peut-être installé à l'extérieur de facter
rubygems avant d'installer avec rubygems.
Vous remarquerez que le fichier final dans le stacktrace est /usr/lib/ruby/1.8/facter/uptime.rb
au lieu d'être un fichier dans /usr/lib/ruby/gems/1.8/gems/facter-1.5.8
.
Vous devriez vérifier si les fichiers /usr/lib/ruby/1.8/facter
sont en effet d'une version plus ancienne du facteur et si oui, vous devriez être en mesure de les déplacer ou les supprimer dans un répertoire nommé différemment et il résoudra vos problèmes.