タイミングは rails new に限りませんが、rails でコマンドを叩いた時に以下のようにActiveSupport::EncryptedFile::InvalidKeyLengthError が出ることがあったので対処方法を書きます。
$ rails new xxxxx
/Users/yyyyyy/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/activesupport-7.0.1/lib/active_support/encrypted_file.rb:114:in `check_key_length': Encryption key must be exactly 32 characters. (ActiveSupport::EncryptedFile::InvalidKeyLengthError)
# 環境情報
$ ruby -v
ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [arm64-darwin21]
$ rails -v
Rails 7.0.1
原因
環境変数に設定していた RAILS_MASTER_KEY が適切な文字数 (=32) ではなかったことが原因でした。
$ export -p | grep RAILS_MASTER_KEY
declare -x RAILS_MASTER_KEY="hogehoge" 👈 ここ
背景
検証中、ローカル端末の ~/.bash_profile 内で設定している環境変数のうち
RAILS_MASTER_KEY に一時的に適当な値を設定していました。
(Rails 5.2 以上で実装された credentials.yml と master.key の仕組みで使う環境変数)
しかし RAILS_MASTER_KEY は 32 文字であるという制限事項が設けられているため、適当な値をセットしていると弾かれる仕組みのようです。
対策
検証で一時的に適当な値をセットする際は、RAILS_MASTER_KEY には 32 文字の文字列をセットしましょう。