webentwicklung-frage-antwort-db.com.de

Verwenden Sie RbConfig anstelle der veralteten und veralteten Konfiguration

Wenn ich meine Rails-App in WEBrick auf Ubuntu starte, bekomme ich nach dem Upgrade auf Ruby-1.9.3-p327 die folgende Fehlermeldung:

[rake --tasks] /home/dsilver/.rvm/gems/Ruby-1.9.3-p327/gems/em-dir-watcher-0.9.4/lib/em-dir-watcher.rb:7: Verwenden Sie RbConfig anstelle von veralteten und veralteten Config.

Irgendeine Idee, was los ist? 

Ich habe einige Beiträge mit ImageMagick unter Windows verbunden. Ich bin auf Ubuntu, aber die App verwendet ImageMagick, und die ImageMagick-Funktionalität scheint seit dem Ruby-Upgrade von 1.9.2 auf 1.9.3 beschädigt zu sein. Ich vermute eine Verbindung.

Vielen Dank!

20
dsilver829

Das Modul Config wurde in RbConfig umbenannt. Es ist immer noch möglich, den alten Namen für die Abwärtskompatibilität zu verwenden, aber Ruby gibt eine Warnung aus wenn Sie dies tun.

Der em-dir-watcher gem verwendet den alten Namen , und daher wird die Warnung angezeigt, wenn er geladen wird. Jemand hat bereits eine Pull-Anfrage gesendet zur Behebung dieses Problems. Das letzte Update von em-dir-watcher war jedoch vor über zwei Jahren vorbei, sodass es möglicherweise nicht zusammengeführt wird.

Dies ist eine Warnung, die generiert wird, kein Fehler, daher sollte Ihr Code eigentlich noch funktionieren. Wenn Sie die Warnung wirklich loswerden möchten, können Sie vor dem Hinzufügen so etwas hinzufügen. require 'em-dir-watcher':

Object.send :remove_const, :Config
Config = RbConfig

Dies definiert Config als RbConfig, was Ruby sowieso macht, aber die Warnung verhindert.

18
matt

Sie können (nicht empfohlen):

Gehen Sie in die Datei ../lib/Ruby/1.9/rbconfig/obsolete.rb

Bearbeiten Sie die Datei, die Änderung kommentiert die Zeile #warn ...

Mit dieser Änderung beseitigt der Rat "warnen"