Rails newを実行したところ、NameError をはじめとした多くのエラー文が表示されたのですが、原因ご存じないでしょうか?
↓エラーメッセージが出た箇所 (一部省略)
(defined?(@source) && @source) || Gem::Source::Installed.new ^^^^^^^^ Did you mean? Gem::SourceList>, (中略):in `source': uninitialized constant Gem::Source (NameError) (defined?(@source) && @source) || Gem::Source::Installed.new ^^^^^^^^ Did you mean? Gem::SourceList (中略):in `<main>' <internal:/Users/ユーザーネーム/.rbenv/versions/3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:167:in `ensure in require': CRITICAL: RUBYGEMS_ACTIVATION_MONITOR.owned?: before false -> after true (RuntimeError) (中略):167:in `ensure in require': CRITICAL: RUBYGEMS_ACTIVATION_MONITOR.owned?: before false -> after true (RuntimeError) (中略):in `source': uninitialized constant Gem::Source (NameError) (defined?(@source) && @source) || Gem::Source::Installed.new ^^^^^^^^ Did you mean? Gem::SourceList (後略)
Gemを読み込む際にエラーが生じているようです。
原因となるコードはuninitialized constant Gem::Source (NameError) と思われます。
エラーメッセージが出ているgem sourcelistが怪しいと思い調べました。
エラー文でググってみたところ、以下のように記事には〇〇と書いてありました。
https://takuyakou.hatenablog.com/entry/2019/10/03/205952
いつものようにググってみると、このエラーはどうやらファイル名とクラス名が一致していないと起こるという事が分かります。つまり問題はコントローラーではなく、そもそものRails g modelコマンドの打ち間違いにあるのでは?という仮説を立ててファイル名を確認すると、モデル名が「article.rb」ではなく「ariticle.rb」となっていました。さらにgコマンドも複数形ではなく単数形となっていたので、rails dでファイル削除し、もう一度rails gコマンドでモデルを作成すると正常に動作しました。
おそらくこの意味は一旦gemを削除しもう1度入れば直るということだと思うのですが、上記事と今回の問題では状況がやや異なるため、本当にgemの削除→再インストールで治るのか確信が持てずにいます。
他のエラー(Runtimeerror)についても調べたのですが、rails new 実行時に発生したという記事が見つかリませんでした。
もし何かご存知であれば教えていただけますでしょうか?
私の開発環境は mac os montereyで、rubyのバージョンは3.1.2p20、
rails のバージョンは 7.0.2.4 です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。