Techioz Blog

Ruby: NoMethodError: それぞれのメソッドが未定義です

概要

手順: サンプルアプリを実行します:

rails _6.0.2.1_ new hello_app
bundle install

期待される: レールが設置されている

実際の: NoMethodError: 未定義のメソッド名’ for nil /snap/ruby/323/lib/ruby/3.3.0/bundler/spec_set.rb:248:in each’

解決策

Ruby on Rails の古いバージョンを最新バージョンの Ruby で実行しようとしているようです。ただし、Ruby on Rails 6.0 は Ruby 3.0 未満とのみ互換性があります (この表によると)。

とにかく新しいアプリケーションを作成したいので、Ruby on Rails を最新バージョン (執筆時点では 7.1.3) に更新して、再試行することをお勧めします。

gem install rails -v 7.1.3
rails _7.1.3_ new hello_app

Ruby on Rails 6.0 を使用することは、レガシー アプリケーションを保守する必要がない限り意味がありません。ただし、最新バージョンにアップグレードすることを優先する必要があります。