我刚刚卸载了旧版本的 Ruby,删除了我所有的 gem (包括 Rails),并安装了 Ruby 2.0。换句话说,完全干净的重新安装。启动 IRB 后,我收到了这条消息:
DL is deprecated, please use Fiddle
注意:我在 Windows 机器上。
这条消息是什么意思?
最佳答案
当您在 Windows 上安装 ruby 2.0.0p0 (2013-02-24)
时,您收到的消息很常见。
消息“DL 已弃用,请使用 Fiddle
”不是错误;这只是一个警告。
来源是Deprecation notice for DL前段时间在 dl.rb
中引入(参见 revisions/37910)。
在 Windows 上,lib/ruby/site_ruby/2.0.0/readline.rb
文件仍然需要 dl.rb
,因此警告消息当您需要'irb'
(因为irb 需要'readline'
)或其他任何东西想要需要'readline'
时出现。
您可以使用您喜欢的文本编辑器打开 readline.rb
并查找代码(靠近第 4369 行):
if RUBY_VERSION < '1.9.1'
require 'Win32API'
else
require 'dl'
class Win32API
DLL = {}
我们总是希望在 Ruby 的 future 版本中进行改进以解决此弃用问题.
编辑: 对于那些想深入了解 Fiddle 与 DL 的人来说,可以说他们的目的是动态链接外部库与 Ruby;您可以在 ruby-doc 网站上阅读有关 DL 的信息或 Fiddle .
关于Ruby 2.0.0p0 IRB 警告 : "DL is deprecated, please use Fiddle",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590450/