Ruby 2.0.0p0 IRB警告:"不建议使用DL,请使用fiddle"

我刚刚卸载了我的旧版本的Ruby,删除了我所有的gem. (包括Rails),并安装了Ruby2.0。换句话说,一个完全干净的重新安装。在启动IRB时,我收到了以下消息:

DL is deprecated, please use Fiddle

注意:我使用的是Windows计算机。

这条信息是什么意思?

158059 次浏览

ruby 2.0.0p0 (2013-02-24)位于窗户之上时,您收到的消息是常见的。

消息“DL is deprecated, please use Fiddle不是错误;这只是个警告。

源是前一段时间在dl.rb中引入的DL的弃用通知(见修订/37910)。

在Windows上,lib/ruby/site_ruby/2.0.0/readline.rb文件仍然需要dl.rb,因此当您require 'irb'(因为IRB需要'readline')或任何其他内容需要require 'readline'时,警告信息就会出现。

您可以使用您喜欢的文本编辑器打开readline.rb并查找代码(第4369行附近):

    if RUBY_VERSION < '1.9.1'
require 'Win32API'
else
require 'dl'
class Win32API
DLL = {}

我们总是希望在露比的未来版本中进行改进,以解决这一问题。

编辑: 对于那些想要深入了解小提琴DL的人,可以说他们的目的是用Ruby动态链接外部库。您可以在Ruby-Doc网站上阅读有关DL小提琴的信息。

您可能希望注释掉以下位置的DL is deprecated, please use Fiddle警告

C:\Ruby200\lib\ruby\2.0.0\dl.rb

因为这很烦人,而且你不是IRB/Pry或其他Gems代码所有者。

我在Openshift.com得到了这个分辨率。

分辨率:

此错误仅发生在具有Ruby 2.0.0版本的Windows计算机上。 在我们正式支持Ruby2.0之前,请降级到Ruby1.9。

Windows上,您可以同时安装Ruby 1.9.3和2.0。改变你的 %PATH%到c:\ruby193\或之前安装到的任何目录 安装GEM.

消息“ DL已弃用,请使用Fiddle ”不是错误;这只是个警告。
解决方案:
您可以通过3个简单的步骤忽略这一点。
步骤1.转到C:\RailsInstaller\Ruby2.1.0
\lib\Ruby\2.1.0 步骤2.然后找到DL.rb并使用任何在线编辑器(如Aptana,Sublime Text等)
打开文件 步骤3.用“#”注释第8行,即#警告“ DL已弃用,请使用Fiddle ”。
就这样,谢谢。

当我想在Windows下创建一个雷神命令时,我自己也遇到了这个问题。

为了避免每次运行我的Thor应用程序时都输出该消息,我在加载Thor时暂时关闭了警告:

begin
original_verbose = $VERBOSE
$VERBOSE = nil
require "thor"
ensure
$VERBOSE = original_verbose
end

这使我不必编辑第三方源文件。