20

当我在 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而不是过时和弃用的 Config。

知道发生了什么吗?

我已经看到一些将其与 Windows 上的 ImageMagick 相关联的帖子。我在 Ubuntu 上,但该应用程序确实使用 ImageMagick,并且自从 ruby​​ 从 1.9.2 升级到 1.9.3 以来,ImageMagick 功能似乎已经损坏。我怀疑有联系。

谢谢!

4

2 回答 2

18

Config模块已重命名为RbConfig. 为了向后兼容,仍然可以使用旧名称,但如果这样做,Ruby 会发出警告。

gem使用em-dir-watcher旧名称,因此在加载时您会看到警告。有人已经发送了一个拉取请求来解决这个问题,但是最后一次更新em-dir-watcher是在两年多以前,所以它可能不会被合并。

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

Object.send :remove_const, :Config
Config = RbConfig

这与Ruby的定义Config相同,但会阻止警告。RbConfig

于 2012-12-31T20:11:10.403 回答
0

你可以这样做(不推荐):

转到文件../lib/ruby/1.9/rbconfig/obsolete.rb

编辑文件,更改是注释#warn ...

随着这种变化,消除了“警告”的建议

于 2014-08-06T22:15:03.173 回答