Ruby 2.0.0p0 IRB 警告 : "DL is deprecated, please use Fiddle"

标签 ruby windows

我刚刚卸载了旧版本的 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 版本中进行改进以解决此弃用问题.

编辑: 对于那些想深入了解 FiddleDL 的人来说,可以说他们的目的是动态链接外部库与 Ruby;您可以在 ruby​​-doc 网站上阅读有关 DL 的信息或 Fiddle .

关于Ruby 2.0.0p0 IRB 警告 : "DL is deprecated, please use Fiddle",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590450/

相关文章:

ruby-on-rails - Rails 3 中双重布局的最佳实践

javascript - 如何用 Ruby 编写 IIFE?

ruby - 这个 Ruby 代码如何工作 - if-stmt with ranges ?

ruby - float 域错误

Windows 批处理脚本 : Redirect ALL output to a file

windows - 批量拆分一个文本文件

c - 从 C 代码生成程序的多个副本并将输出重定向到文件

c# - Winforms 问题 - 创建窗口句柄时出错

java - 从java代码获取cmd命令的输出

ruby-on-rails - 如何在安装在 vmware 中的 ubuntu 中运行 ruby​​ on rails 程序?