【问题标题】:rake failure ruby 2.7.0 "undefined method extend_object for class Singletonrake failure ruby​​ 2.7.0“单例类的未定义方法extend_object
【发布时间】:2022-01-13 16:34:54
【问题描述】:

我正在尝试在 Ubuntu 上使用 Ruby 2.7.0 安装 Ruby on Rails 版本 5.0.0。执行任何 rake 命令(例如,“rake --tasks”)会导致大量关于已初始化常量(Etc::VERSION、Etc::SC_AIO_LISTIO_MAX 等)的消息,然后是

rake aborted! 
NameError: undefined method `extend_object' for class `Singleton'
Did you mean?  extended

Error when running rake db:create: undefined method `extend_object' for class `Singleton' 的答案建议删除 Gemfile.lock 并重新执行捆绑安装,但这对我没有影响。还有其他修复吗?

【问题讨论】:

    标签: ruby-on-rails rake


    【解决方案1】:

    我今天遇到了同样的问题,将 ruby​​ 更新到 3.0.0 似乎可以解决这个问题。 Ubuntu 出于某种原因下载了 2.7.0 版本,我用这篇文章帮助我安装了 ruby​​ 3.0.0

    https://linoxide.com/how-to-install-ruby-on-ubuntu-20-04/

    您显然还需要更改 Gemfile 和 ruby​​-version 文件中的版本。

    【讨论】:

    • 谢谢。我维护的 Rails 系统是为旧版本编写的,在其他问题得到解决之前,我对迁移到 Ruby 3.0 持谨慎态度。我想这是尝试完成这些事情的动力。但是,Rails 会以明显的版本不匹配运行,这似乎很奇怪。我不记得 Ruby 和 Rails 之间还有其他此类未记录的版本不匹配。
    猜你喜欢
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2018-05-16
    • 2016-06-30
    • 1970-01-01
    • 2013-04-28
    • 2020-01-03
    • 2015-03-17
    相关资源
    最近更新 更多