gpt4 book ai didi

ruby - rake 错误 : "warning: already initialized constant FileUtils::OPT_TABLE"

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:59 27 4
gpt4 key购买 nike

我见过关于此错误的类似问题,但它们都与 rails 相关。我没有使用导轨;我正在处理一个本地 rake 任务,该任务从 yaml 文件中读取,然后对数据进行处理。我不想为此安装 bundler (类似 Rails 问题的解决方案建议在 bundle exec 之前),因为这个脚本很简单,因此不需要它。

这是简化的代码,(它得到与我正在处理的代码相同的错误):

require 'FileUtils'
require 'yaml'

SOME_FILE = "#{Dir.pwd}/some_file.yaml"

task default: :foo

task :foo do
bar = File.open(SOME_FILE) { |yf| YAML::load( yf ) }
bar.each {|k,v| puts k}
end

这是错误列表:

/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/FileUtils.rb:93: warning: already initialized constant FileUtils::OPT_TABLE
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:93: warning: previous definition of OPT_TABLE was here
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/FileUtils.rb:1272: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:1272: warning: previous definition of S_IF_DOOR was here
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/FileUtils.rb:1535: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:1535: warning: previous definition of DIRECTORY_TERM was here
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/FileUtils.rb:1537: warning: already initialized constant FileUtils::Entry_::SYSCASE
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:1537: warning: previous definition of SYSCASE was here
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/FileUtils.rb:1656: warning: already initialized constant FileUtils::LOW_METHODS
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:1656: warning: previous definition of LOW_METHODS was here
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/FileUtils.rb:1662: warning: already initialized constant FileUtils::METHODS
/Users/jpalmieri/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/fileutils.rb:1662: warning: previous definition of METHODS was here

尽管有警告,脚本仍能正常运行;上面的代码将按预期放置键,就在警告之后。

最佳答案

当我编写 require 'FileUtils' 时会出现此警告。如果我写 require 'fileutils'(全部小写)警告消失。

This链接可能有助于解释行为。我认为 ruby​​ 本质上认为 FileUtilsfileutils 是不同的模块,因此将其导入两次。然后常量的重新声明给出警告信息。

关于ruby - rake 错误 : "warning: already initialized constant FileUtils::OPT_TABLE",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32044499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com