Error when running rake db:create: undefined method `extend_object' for class `Singleton'

Viewed 901

When I run rake db:create on my project I get this error:

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

This project used to run on Ruby 3.0.0 but I'm downgrading to 2.7.1 because I was getting some crashes and other issues. The full backtrace is:

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)

Any ideas what's going on?

rake db:migrate fails the same way, but rails s seems to work (until it tries to do anything with the database and throws a ActiveRecord::NoDatabaseError, as expected).

If I remove Bootsnap, the error is:

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)
1 Answers

I was hitting this very frustrating problem for a long time and I think it boiled down to some gem incompatabilities. I fixed it by doing the following:

rm Gemfile.lock 
bundle install
Related