2012-12-03 5 views
20

Quando eseguo la mia applicazione Rails in WEBrick su Ubuntu, dopo l'aggiornamento a Ruby-1.9.3-P327, ricevo il seguente errore:Uso rbconfig invece di obsoleti e deprecato Config

[rake --tasks] /home/dsilver/.rvm/gems/ruby-1.9.3-p327/gems/em-dir-watcher-0.9.4/lib/em-dir-watcher.rb:7: Use RbConfig instead of obsolete and deprecated Config.

Qualsiasi idea di cosa sta succedendo sopra?

Ho visto alcuni post che lo collegano a ImageMagick su Windows. Sono su Ubuntu, ma l'app usa ImageMagick, e la funzionalità ImageMagick sembra essersi rotta dall'aggiornamento del ruby ​​da 1.9.2 a 1.9.3. Sospetto una connessione.

Grazie!

+0

Ancora incerto quello che sta succedendo, anche se ho il sospetto che sia un bug nella gemma em-dir-watcher. Quella gemma è una dipendenza del fegato, e la gemma del fegato sembra essere deprecata a favore del fegato. Così ho aggiornato il mio Gemfile, che ha rimosso la gemma em-dir-watcher e l'errore è svanito. – dsilver829

risposta

18

Il modulo Config è stato rinominato RbConfig. È ancora possibile utilizzare il vecchio nome, per compatibilità con le versioni precedenti, ma Ruby issues a warning se lo si fa.

em-dir-watcher gem uses the old name, quindi viene visualizzato l'avviso quando viene caricato. Qualcuno ha già inviato un aggiornamento a pull request, tuttavia l'ultimo aggiornamento a em-dir-watcher era oltre due anni fa, quindi potrebbe non essere unito.

Questo è un avviso che viene generato, non un errore, quindi il codice dovrebbe funzionare ancora correttamente. Se davvero si vuole sbarazzarsi di l'avviso si potrebbe aggiungere qualcosa di simile prima di require 'em-dir-watcher':

Object.send :remove_const, :Config 
Config = RbConfig 

Definisce Config ad essere lo stesso RbConfig, che è ciò che fa di Ruby in ogni caso, ma impedisce l'avvertimento.

-1

si può fare (non raccomandato):

Vai alla scheda ../lib/ruby/1.9/rbconfig/obsolete.rb

Modificare il file, la modifica viene commentando la linea #warn ...

Con questo cambiamento, ha eliminato il consiglio "mettere in guardia"

+4

Se non è raccomandato, perché lo raccomandi? Questo è ciò che una risposta a una domanda è: una raccomandazione. – levininja

+1

Ritengo che sia una soluzione temporanea invece di una soluzione permanente e migliore, non so se la domanda (un ragazzo che sta cercando una risposta) ha bisogno di urgenza per una soluzione veloce –

Problemi correlati