2010-09-26 11 views
5

Estoy tratando de configurar un nodo títere, pero rubygems no parece comportarse.método indefinido get_uptime para Facter :: Util :: Uptime: Module (NoMethodError)

Si ejecuto facter en el cli a través de su propio binario (/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter), funciona bien, pero si lo ejecuto a través de el binario instalado por rubygems (/ usr/bin/facter), que arroja:

/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 

he intentado quitar y volver a instalar rubygems, así como la reinstalación de la gema, pero nada parece funcionar.

Supongo que hay algo guardado en la memoria caché en algún lugar, ya que arroja el mismo error cuando intento ejecutar el títere.

¿Alguna idea?

Respuesta

8

Parece que puede haber instalado facter fuera de rubygems antes de instalarlo con rubygems.

Notarás que el archivo final en stacktrace es /usr/lib/ruby/1.8/facter/uptime.rb en lugar de ser un archivo en /usr/lib/ruby/gems/1.8/gems/facter-1.5.8.

Debería comprobar si los archivos en /usr/lib/ruby/1.8/facter son simplemente una versión anterior del factor y si es así, debería poder eliminarlos o moverlos a un directorio con un nombre diferente y solucionará sus problemas.

+1

¡genial, gracias! fue instalado a través de apt-get. Lo quité y quité la gema, reinstalé y funciona bien ahora. –

Cuestiones relacionadas