Skip to content

Depend on gem benchmark since it's not part of standard library since Ruby 4 #622

@eiskrenkov

Description

@eiskrenkov

That's what we observe when starting Rails apps on Ruby 4.0.1 having identity_cache in Gemfiles

/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/identity_cache-1.6.4/lib/identity_cache/memoized_cache_proxy.rb:4: warning: benchmark used to be loaded from the standard library, but is not part of the default gems since Ruby 4.0.0.
You can add benchmark to your Gemfile or gemspec to fix this error.
Also please contact the author of identity_cache-1.6.4 to request adding benchmark into its gemspec.
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:71:in 'block (2 levels) in Bundler::Runtime#require': There was an error while trying to load the gem 'identity_cache'. (Bundler::GemRequireError)
Gem Load Error is: cannot load such file -- benchmark
Detailed log
  Backtrace for gem load error is:
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:in 'Kernel#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/zeitwerk-2.7.5/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/identity_cache-1.6.4/lib/identity_cache/memoized_cache_proxy.rb:4:in '<main>'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/zeitwerk-2.7.5/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/identity_cache-1.6.4/lib/identity_cache.rb:31:in '<main>'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel.replace_require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/zeitwerk-2.7.5/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel.require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:63:in 'block (2 levels) in Bundler::Runtime#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:58:in 'Array#each'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:58:in 'block in Bundler::Runtime#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:52:in 'Array#each'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:52:in 'Bundler::Runtime#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler.rb:213:in 'Bundler.require'
/Users/eiskrenkov/tds/localisations_server/config/application.rb:12:in '<main>'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:139:in 'block in Rails::Command::ServerCommand#perform'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:136:in 'Kernel#tap'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:136:in 'Rails::Command::ServerCommand#perform'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor/command.rb:28:in 'Thor::Command#run'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor.rb:538:in 'Thor.dispatch'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:143:in 'Rails::Command.with_argv'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:63:in 'Rails::Command.invoke'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands.rb:18:in '<main>'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
bin/rails:5:in '<main>'
Bundler Error Backtrace:

	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:58:in 'Array#each'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:58:in 'block in Bundler::Runtime#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:52:in 'Array#each'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:52:in 'Bundler::Runtime#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler.rb:213:in 'Bundler.require'
	from /Users/eiskrenkov/tds/localisations_server/config/application.rb:12:in '<main>'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:139:in 'block in Rails::Command::ServerCommand#perform'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:136:in 'Kernel#tap'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:136:in 'Rails::Command::ServerCommand#perform'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor/command.rb:28:in 'Thor::Command#run'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor.rb:538:in 'Thor.dispatch'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:143:in 'Rails::Command.with_argv'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:63:in 'Rails::Command.invoke'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands.rb:18:in '<main>'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
	from bin/rails:5:in '<main>'
/Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require': cannot load such file -- benchmark (LoadError)
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:in 'Kernel#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/zeitwerk-2.7.5/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/identity_cache-1.6.4/lib/identity_cache/memoized_cache_proxy.rb:4:in '<main>'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/zeitwerk-2.7.5/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/identity_cache-1.6.4/lib/identity_cache.rb:31:in '<main>'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel.replace_require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/zeitwerk-2.7.5/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel.require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:63:in 'block (2 levels) in Bundler::Runtime#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:58:in 'Array#each'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:58:in 'block in Bundler::Runtime#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:52:in 'Array#each'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler/runtime.rb:52:in 'Bundler::Runtime#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bundler-4.0.6/lib/bundler.rb:213:in 'Bundler.require'
	from /Users/eiskrenkov/tds/localisations_server/config/application.rb:12:in '<main>'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:139:in 'block in Rails::Command::ServerCommand#perform'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:136:in 'Kernel#tap'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands/server/server_command.rb:136:in 'Rails::Command::ServerCommand#perform'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor/command.rb:28:in 'Thor::Command#run'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor/invocation.rb:127:in 'Thor::Invocation#invoke_command'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command/base.rb:176:in 'Rails::Command::Base#invoke_command'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/thor-1.5.0/lib/thor.rb:538:in 'Thor.dispatch'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command/base.rb:71:in 'Rails::Command::Base.perform'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:65:in 'block in Rails::Command.invoke'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:143:in 'Rails::Command.with_argv'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/command.rb:63:in 'Rails::Command.invoke'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/railties-8.1.2/lib/rails/commands.rb:18:in '<main>'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'Kernel.require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/4.0.0/bundled_gems.rb:60:in 'block (2 levels) in Kernel#replace_require'
	from /Users/eiskrenkov/.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/bootsnap-1.23.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:33:in 'Kernel#require'

So as it says, I'm contacting authors to request adding benchmark into gemspec :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions