使用RbConfig而不是过时和弃用的Config

时间:2012-12-03 23:33:34

标签: ruby ruby-on-rails-3.2 rubygems

当我在Ubuntu上的WEBrick中运行我的Rails应用程序时,升级到ruby-1.9.3-p327后,我收到以下错误:

  

[rake --tasks] /home/dsilver/.rvm/gems/ruby-1.9.3-p327/gems/em-dir-watcher-0.9.4/lib/em-dir-watcher.rb:7 :使用RbConfig而不是过时和弃用的配置。

知道发生了什么事吗?

我看过一些帖子将它连接到Windows上的ImageMagick。我在Ubuntu上,但该应用确实使用了ImageMagick,自从红宝石从1.9.2升级到1.9.3后,ImageMagick功能似乎已经破裂。我怀疑有联系。

谢谢!

2 个答案:

答案 0 :(得分:18)

Config模块已重命名为RbConfig。为了向后兼容,仍然可以使用旧名称,但如果你这样做,则可以使用Ruby issues a warning

em-dir-watcher gem uses the old name,因此您在加载时会看到警告。有人已经发送pull request来修复此问题,但是em-dir-watcher的最后一次更新是在两年多以前,因此可能无法合并。

这是生成的警告,而不是错误,因此您的代码实际上仍然可以正常工作。如果您真的想摆脱警告,可以在require 'em-dir-watcher'

之前添加类似的内容
Object.send :remove_const, :Config
Config = RbConfig

这将Config定义为与RbConfig相同,这正是Ruby所做的,但会阻止警告。

答案 1 :(得分:0)

你可以(不推荐):

转到 ../ lib / ruby​​ / 1.9 / rbconfig / obsolete.rb

文件

编辑文件,更改正在评论 #warn ...

通过这种改变,消除了建议"警告"