Rails `require': cannot load such file -- matrix

Viewed 1181

after updating to ruby 3.1.2 and Rails 7.0.2.3

getting following error while starting rails application:

`require': cannot load such file -- matrix (LoadError)

what could be the possible solution, thanks in advance.

2 Answers

Matrix was removed from Ruby's standard library in version 3.1. More info: https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/

With Ruby 3.1, matrix needs to be explicitly added to the Gemfile. You can add it manually or run something like:

$ bundle add matrix

After it's added to the Gemfile, bundle your application:

$ bundle install

Then your application should continue to behave like it did in previous Ruby versions.

I came onto this issue as well when upgrading Rails 6->7 and Ruby 3.0.0->3.1.2.

For my case the issue was related to Capybara gem. Version 3.35.3 assumed it is installed by default with Ruby. When I upgraded the Capybara to version 3.37.1 then matrix gem was automatically installed as well and the issue was resolved.

Related