2012-12-03 16 views
20

當我運行的WEBrick在Ubuntu我的Rails應用程序,升級到紅寶石1.9.3-P327之後,我收到以下錯誤:使用RbConfig,而不是過時的和不提倡使用配置

[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.

任何想法是怎麼回事上?

我見過一些文章連接到Windows上的ImageMagick。我在Ubuntu上,但該應用程序確實使用ImageMagick,自從Ruby 1.9.2升級到1.9.3後,ImageMagick功能似乎已經破壞。我懷疑有連接。

謝謝!

+0

仍然不確定這是怎麼回事,但我懷疑這是在EM-DIR-觀察家寶石的錯誤。該寶石是livereload的依賴,並且livereload gem似乎不贊成guard-livereload。所以我更新了我的Gemfile,它刪除了em-dir-watcher gem,並且錯誤消失了。 – dsilver829

回答

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,這是紅寶石確實是這樣,但是防止了警告。

可以做(不推薦)
-1

您:

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

編輯文件時,改變註釋行#warn ...

隨着這種變化,消除意見「警告」

+4

如果不推薦,那麼你爲什麼推薦它?這就是對一個問題的回答:一個建議。 – levininja

+1

我覺得這是一個臨時的解決方案,而不是永久的,更好的解決方案,我不知道這個問題(尋找答案的人)是否需要一些快速解決方案的緊迫性 –

相關問題