プログラミングのゴミ箱

日々の学習の中で知らなかったことについて、調べたことを解説します。

Ruby3でRails5の環境作成中にエラーが出た。

エラーの内容は以下のようなものだ

/usr/local/bundle/gems/activesupport-5.2.6.2/lib/active_support/messages/metadata.rb:17:in `wrap': wrong number of arguments (given 2, expected 1) (ArgumentError)
        from /usr/local/bundle/gems/activesupport-5.2.6.2/lib/active_support/message_encryptor.rb:175:in `_encrypt'
        from /usr/local/bundle/gems/activesupport-5.2.6.2/lib/active_support/message_encryptor.rb:151:in `encrypt_and_sign'
        from /usr/local/bundle/gems/activesupport-5.2.6.2/lib/active_support/encrypted_file.rb:75:in `encrypt'
        from /usr/local/bundle/gems/activesupport-5.2.6.2/lib/active_support/encrypted_file.rb:49:in `write'
        from /usr/local/bundle/gems/activesupport-5.2.6.2/lib/active_support/encrypted_configuration.rb:29:in `write'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/generators/rails/credentials/credentials_generator.rb:31:in `add_credentials_file_silently'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/generators/rails/app/app_generator.rb:185:in `credentials'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/generators/app_base.rb:159:in `build'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/generators/rails/app/app_generator.rb:328:in `create_credentials'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `block in invoke_all'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `each'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `map'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:134:in `invoke_all'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/group.rb:232:in `dispatch'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/commands/application/application_command.rb:26:in `perform'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        from /usr/local/bundle/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/command/base.rb:69:in `perform'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/command.rb:46:in `invoke'
        from /usr/local/bundle/gems/railties-5.2.6.2/lib/rails/cli.rb:18:in `<top (required)>'
        from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
        from /usr/local/bundle/gems/railties-5.2.6.2/exe/rails:10:in `<top (required)>'
        from /usr/local/bundle/bin/rails:25:in `load'
        from /usr/local/bundle/bin/rails:25:in `<main>'
ERROR: 1

調べてみるとどうやらRails5はRuby3の環境では動かないらしい。Rails6を使う、もしくはRuby2を使うことで解決。