toptal / chewy

High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LoadError: cannot load such file -- i18n/core_ext/hash in lib/chewy.rb:17

schinery opened this issue · comments

As of 1.9.1, the i18n gem no longer contains i18n/core_ext/hash but this is being required in lib/chewy.rb:17 which of course throws an error whenever trying to do something in Rails.

This stacktrace is from our CI, just to show the error being thrown.

#!/bin/bash -eo pipefail
bundle exec rails db:setup
rails aborted!
LoadError: cannot load such file -- i18n/core_ext/hash
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/chewy-7.2.3/lib/chewy.rb:17:in `<top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/lib/my_engine/engine.rb:16:in `<top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/lib/my_engine.rb:3:in `<top (required)>'
/home/circleci/my_engine/test/dummy/config/application.rb:7:in `<top (required)>'
/home/circleci/my_engine/test/dummy/Rakefile:6:in `require_relative'
/home/circleci/my_engine/test/dummy/Rakefile:6:in `<top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `block in load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/tasks/engine.rake:5:in `block (2 levels) in <top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/tasks/engine.rake:4:in `block in <top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/tasks/engine.rake:85:in `<top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `block in load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `load'
/home/circleci/my_engine/Rakefile:5:in `<top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `block in load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:326:in `load'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/commands/rake/rake_command.rb:20:in `block in perform'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/command.rb:50:in `invoke'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/commands.rb:18:in `<top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/engine/commands.rb:9:in `<top (required)>'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/my_engine/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
bin/rails:16:in `<main>'
Tasks: TOP => load_app
(See full trace by running task with --trace)

Exited with code exit status 1
CircleCI received exit code 1

We've locked i18n to 1.8.11 until this is resolved. Also might be worth looking at ruby-i18n/i18n#603 as 1.9.0 of the i18n gem was released with the same issue.

Steps to reproduce the problem

  • Upgrade i18n to 1.9.1
  • Try to run rails, rubocop etc and see the error thrown

Version Information

  • Chewy version: 7.2.3
  • Elasticsearch version: 7.13.0
  • Ruby version: 3.0.3
  • Rails version: 6.1.4.4

Hey @schinery 👋 !
Thanks, fixed.

Nice one @rabotyaga 👍🏻

Could you fix this bug for version 5?