Ruby 2.0.0p0 IRB警告:“DL已弃用,请使用小提琴”

我刚刚卸载了旧版本的Ruby,删除了所有的gem(包括Rails),并安装了Ruby 2.0。 换句话说,完全干净的重新安装。 开始IRB时,我收到了这个消息:

 DL已弃用,请使用小提琴

注意:我在Windows机器上。

这个消息是什么意思?

当您在Windows上使用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 = {} 

在未来的Ruby版本中,我们总是希望有一个改进来解决这个问题。

编辑:对于那些想深入了解小提琴DL ,让他们说,他们的目的是dynamic链接外部库与Ruby; 你可以阅读关于DL或小提琴的ruby-doc网站。

您可能想要注释掉DL is deprecated, please use FiddleDL is deprecated, please use Fiddle警告

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

因为它很烦人,你不是irb / pry或其他gem代码所有者

我在openshift.com得到了这个决议。

parsing度:

仅在使用Ruby 2.0.0版本的Windows计算机上才会出现此错误。 在我们正式支持Ruby 2.0之前,请降级到Ruby 1.9。

在Windows上,您可以安装Ruby 1.9.3和2.0。 在安装gem之前,将%PATH%更改为c:\ruby193\或安装的任何目录。

消息“DL被弃用,请使用小提琴”不是一个错误; 这只是一个警告。
解:
你可以在3个简单的步骤中忽略这个。
第1步。转到C:\ RailsInstaller \ Ruby2.1.0 \ lib \ ruby​​ \ 2.1.0
第二步,然后finddl.rb,并打开任何在线编辑器像Aptana,崇高的文本等文件
步骤3.用'#'注释第8行,即#警告“DL已弃用,请使用小提琴”。
就是这样,谢谢。

当我想在Windows下创build一个命令时,我自己碰到了这个问题。

为了避免每次运行我的thor应用程序都输出该消息,我在加载thor时临时静音警告:

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

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