Ruby をバージョン 2.7.5 からバージョン 3.0.6 にアップグレードする際のバンドラー エラーを修正するにはどうすればよいですか?
概要
RailsアプリケーションのRubyバージョンを更新していました。バージョン2.7.5からバージョン3.0.6にアップデートしました。壊れた依存関係をすべて修正し、rails s コマンドを使用してプロジェクトが正常に起動されました。しかし、何らかの理由で rspec テストを実行できません。
私のconfig/application.rbファイルでは、次の行がエラーをスローしています。
Bundler.require(*Rails.groups)
エラーは次のようなものです。
ArgumentError:
wrong number of arguments (given 4, expected 3)
# ./config/application.rb:16:in `<top (required)>'
# ./config/environment.rb:4:in `require_relative'
# ./config/environment.rb:4:in `<top (required)>'
# ./spec/rails_helper.rb:8:in `<top (required)>'
奇妙なのは、このエラーが Rails.groups 配列に :test または ‘test’ がある場合にのみ再現されることです。 つまり、たとえば、Bundler.require に input -> [:default] のような配列を指定した場合、エラーは発生しません。
私の Rails アプリのバージョン: 6.1.7.4
解決策
しばらくして、答えが見つかりました。問題はカピバラの図書館にありました。何らかの理由で、私が使用していたバージョンは Ruby 3 では利用できないとマークされておらず、より新しいバージョンに更新すると正常に機能しました。