2010-09-26 18 views
5

Ich versuche, einen Marionettenknoten einzurichten, aber Rubygems scheint sich nicht zu verhalten.undefined Methode get_uptime für Facter :: Util :: Uptime: Modul (NoMethodError)

Wenn ich facter auf dem CLI über seine eigene Binärdatei (/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter) ausführen, funktioniert es gut, aber wenn ich es durchlaufe die binäre von rubygems installiert (/ usr/bin/facter), es wirft:

/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 

ich habe versucht rubygems und Neuinstallation sowie Neuinstallation der Edelstein zu entfernen, aber nichts scheint zu funktionieren.

Ich nehme an, irgendwo ist etwas zwischengespeichert, weil es den gleichen Fehler wirft, wenn ich versuche, Marionette zu laufen.

Irgendwelche Ideen?

Antwort

8

Es sieht so aus, als ob Sie facter außerhalb von Rubygems installiert haben, bevor Sie es mit Rubygems installieren.

Sie werden bemerken, dass die letzte Datei im Stacktrace /usr/lib/ruby/1.8/facter/uptime.rb ist, anstatt eine Datei in /usr/lib/ruby/gems/1.8/gems/facter-1.5.8 zu sein.

Sie sollten überprüfen, ob die Dateien in /usr/lib/ruby/1.8/facter tatsächlich nur eine ältere Version von Faktor sind und wenn ja, sollten Sie in der Lage sein, sie zu löschen oder in ein anders benanntes Verzeichnis zu verschieben, und es wird Ihre Probleme beheben.

+1

brilliant, danke! Es wurde über apt-get installiert. Es entfernt und entfernt den Edelstein, neu installiert und es funktioniert jetzt gut. –

Verwandte Themen