3

使用以下代码在 Windows 上使用 roo gem:

require 'roo'
require 'roo-xls'

workbook = Roo::Excel.new 'test.xls'

我收到消息到 STDOUT

[DEPRECATION] extend Roo::Tempdir and use its .make_tempdir instead

之后代码运行良好,我可以做任何我想做的事情。但是,我想摆脱这条消息(不创建新类或类似的东西,它只是打开一个文件......对吗?)。我怎么做?

4

1 回答 1

5

正确的解决方法是不使用已弃用的方法,而是使用推荐的方法。但是,在这种情况下,使用已弃用方法的不是您,而是以下内容的作者roo-xls

make_tmpdir do |tmpdir| # …

所以,你唯一能做的就是:

  1. 针对 提交错误报告roo-xls,最好使用修复问题的拉取请求(实际上,前者已经为您完成
  2. 暂时,在上游问题解决之前抑制弃用警告;Roo 使用Kernel#warn,所以不幸的是你只能关闭所有警告,但这样的事情应该可以工作:

    original_warning_level = $VERBOSE
    $VERBOSE = nil
    
    workbook = Roo::Excel.new 'test.xls'
    
    $VERBOSE = original_warning_level
    
于 2016-09-29T08:56:27.710 回答