【问题标题】:Ruby 2.5.0 warnings with Rake and RVMRake 和 RVM 的 Ruby 2.5.0 警告
【发布时间】:2018-07-21 02:06:50
【问题描述】:

使用 RVM 安装 Ruby 2.5 并使用 Rails5.2.0.rc1 构建应用程序后,每当我运行 rake 时都会收到警告:

/Users/danielkehoe/.rvm/gems/ruby-2.5.0@global/gems/rake-12.3.0/lib/rake/file_utils.rb:10: 
        warning: already initialized constant FileUtils::RUBY
/Users/danielkehoe/.rvm/rubies/ruby-2.5.0/lib/ruby/gems/2.5.0/gems/rake-12.3.0/lib/rake/file_utils.rb:10: 
    warning: previous definition of RUBY was here
/Users/danielkehoe/.rvm/gems/ruby-2.5.0@global/gems/rake-12.3.0/lib/rake/file_utils.rb:109: 
        warning: already initialized constant FileUtils::LN_SUPPORTED

【问题讨论】:

  • 我尝试使用 'rvm implode' 删除 rvm 并重新安装,但问题仍然存在。
  • 我为 RVM 打开了一个问题:github.com/rvm/rvm/issues/4301

标签: ruby-on-rails ruby rake rvm


【解决方案1】:

不幸的是,tm. 的任何方法都不适合我。

当我查看我的全局 gemset 时,我安装了 fileutils 的 1.1.0 版本以及默认的 1.0.2

gem uninstall fileutils 删除了 1.1.0 版本,这次降级到 1.0.2 解决了问题。

【讨论】:

  • 花了 3 个小时试图解决这个错误,直到我找到了这个。谢谢!
【解决方案2】:

它与RVM有关。具体来说,这是因为 rake gem 从已安装的 ruby​​ 副本符号链接到 @global gemset,但 bin/rake 没有符号链接。因此,rake 会尝试两次加载某些库文件的副本——一次来自标准 ruby​​ gem 树,一次来自@global gemset 树。

我找到了几种解决方法:

  • 使用bundle exec rake
  • 对于 Rails,请使用 bin/rails
  • 对于 Rails 5+,使用 rails <cmd>(或 bin/rails
  • rake gem 的副本强制安装到您当前的gemset 中。这将抢占 rake 的标准 + @global gemset 副本,从而避免该问题。

【讨论】:

    【解决方案3】:

    看来这个问题与 torvm 有关。

    check the issue created for rake project

    【讨论】:

    • Yessssss...但是为什么呢?以及如何解决?
    猜你喜欢
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多