【问题标题】:Error when running rake db:create: undefined method `extend_object' for class `Singleton'运行 rake db:create 时出错:类“Singleton”的未定义方法“extend_object”
【发布时间】:2021-02-16 19:39:27
【问题描述】:

当我在我的项目上运行 rake db:create 时,我收到此错误:

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

这个项目曾经在 Ruby 3.0.0 上运行,但我正在降级到 2.7.1,因为我遇到了一些崩溃和其他问题。完整的回溯是:

rake aborted!
NameError: undefined method `extend_object' for class `Singleton'
Did you mean?  extended
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/deprecation.rb:3:in `<main>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/rails.rb:26:in `<main>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/actionpack-6.1.2.1/lib/action_dispatch.rb:27:in `<main>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/actionpack-6.1.2.1/lib/action_dispatch/railtie.rb:3:in `<main>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/railties-6.1.2.1/lib/rails.rb:18:in `<main>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
C:/Users/pupeno/Code/imok/config/application.rb:3:in `<top (required)>'
C:/Users/pupeno/Code/imok/Rakefile:4:in `require_relative'
C:/Users/pupeno/Code/imok/Rakefile:4:in `<top (required)>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)

有什么想法吗?

rake db:migrate 以同样的方式失败,但 rails s 似乎可以工作(直到它尝试对数据库执行任何操作并抛出 ActiveRecord::NoDatabaseError,正如预期的那样)。

如果我删除 Bootsnap,错误是:

NameError: undefined method `extend_object' for class `Singleton'
Did you mean?  extended
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/deprecation.rb:3:in `<top (required)>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/rails.rb:26:in `<top (required)>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/actionpack-6.1.2.1/lib/action_dispatch.rb:27:in `<top (required)>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/actionpack-6.1.2.1/lib/action_dispatch/railtie.rb:3:in `<top (required)>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `block in require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:299:in `load_dependency'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/activesupport-6.1.2.1/lib/active_support/dependencies.rb:332:in `require'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/railties-6.1.2.1/lib/rails.rb:18:in `<top (required)>'
C:/Users/pupeno/Code/imok/config/application.rb:3:in `require'
C:/Users/pupeno/Code/imok/config/application.rb:3:in `<top (required)>'
C:/Users/pupeno/Code/imok/Rakefile:4:in `require_relative'
C:/Users/pupeno/Code/imok/Rakefile:4:in `<top (required)>'
C:/Users/pupeno/scoop/persist/ruby/gems/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    我很长一段时间都在遇到这个非常令人沮丧的问题,我认为它归结为一些 gem 不兼容。我通过执行以下操作修复了它:

    rm Gemfile.lock 
    bundle install
    

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多