metodo non definito get_uptime per facter :: Util :: Uptime: Module (NoMethodError)
Domanda
Sto cercando di installare un nodo di burattino, ma RubyGems non sembra comportarsi.
Se eseguo facter sul cli tramite il proprio binario (/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter), funziona benissimo, ma se lo faccio funzionare attraverso il binario installato da rubygems (/ usr / bin / facter), getta:
/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
Ho provato la rimozione e la reinstallazione RubyGems così come reinstallare la gemma, ma nulla sembra funzionare.
Sto assumendo qualcosa viene memorizzato nella cache da qualche parte, perché getta lo stesso errore quando sto cercando di eseguire fantoccio.
Tutte le idee?
Soluzione
Sembra che potrebbe essere installato al di fuori della facter
rubygems prima di installarla con rubygems.
Si noterà il file finale nel stacktrace è /usr/lib/ruby/1.8/facter/uptime.rb
invece di essere un file in /usr/lib/ruby/gems/1.8/gems/facter-1.5.8
.
Si dovrebbe verificare se i file nella /usr/lib/ruby/1.8/facter
sono infatti solo una versione precedente di fattori e, se è così, si dovrebbe essere in grado di eliminarli o spostarli in una directory di nome diverso e sarà risolvere i problemi.