📣
初めてのエラーメッセージ
Railsチュートリアルを進めていたところ、以下のエラーに遭遇しました。
同じようなエラーに遭遇した方の参考になれば嬉しいです。
$ rails _7.0.4.3_ new toy_app
/home/vscode/.gem/gems/activesupport-7.0.4.3/lib/active_support/logger_thread_safe_level.rb:12:in `<module:LoggerThreadSafeLevel>': uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)
Logger::Severity.constants.each do |severity|
^^^^^^^^^^
from /home/vscode/.gem/gems/activesupport-7.0.4.3/lib/active_support/logger_thread_safe_level.rb:9:in `<module:ActiveSupport>'
from /home/vscode/.gem/gems/activesupport-7.0.4.3/lib/active_support/logger_thread_safe_level.rb:8:in `<top (required)>'
from <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
エラーメッセージには uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError) とあり、どうやら Rails 7.0.4.3 が最近の concurrent-ruby などのGemのアップデートに対応できておらず、互換性エラーが出ているようです。
解決方法:
Railsのバージョンをアップグレードすることで解決しました。
*今回7.1.3を使用。
- 既存のRailsをアンインストール
gem uninstall rails -a -x rbenv rehash
- rails 7.1.3をインストール
gem install rails -v 7.1.3 rbenv rehash
- バージョン確認
rails -v
- 無時に起動!
@kenwilldoit ➜ ~/environment $ rails _7.1.3_ new toy_app create create README.md
今回のトラブルを通して、Gemのバージョン依存や互換性の重要さを学びました。
引き続き、Rails学習中に「つまづいたこと」「学んだこと」などを投稿していく予定です!
Discussion