質問内容・実現したいこと
質問内容
herokuのデプロイの際にrubyのバージョンアップが必要になり
ruby 2.5.1 から ruby 3.1.0 に変更しrails s
するもerrorになります。
実現したいこと
ローカルのrailsサーバーにつながりたい。
教えていただきたいこと
- errorの解消方法またはヒント
- errorの読み解き方
- ここをこうした方がいいよなどご指摘をいただきたいです。
よろしくお願いします。
現状発生している問題・エラーメッセージ
$ rails s /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': cannot load such file -- net/smtp (LoadError) from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:93:in `register' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-6.0.4.4/lib/active_support/dependencies.rb:324:in `block in require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-6.0.4.4/lib/active_support/dependencies.rb:291:in `load_dependency' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-6.0.4.4/lib/active_support/dependencies.rb:324:in `require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/mail-2.7.1/lib/mail.rb:9:in `<module:Mail>' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/mail-2.7.1/lib/mail.rb:3:in `<main>' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:105:in `register' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-6.0.4.4/lib/active_support/dependencies.rb:324:in `block in require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-6.0.4.4/lib/active_support/dependencies.rb:291:in `load_dependency' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-6.0.4.4/lib/active_support/dependencies.rb:324:in `require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/actionmailbox-6.0.4.4/lib/action_mailbox/mail_ext.rb:3:in `<main>' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:105:in `register' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/bootsnap-1.9.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-6.0.4.4/lib/active_support/dependencies.rb:324:in `block in require' from /Users/mark_naito/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/activesupport-
行ったこと
bash
#1 インストールできるrubyのバージョンを確認 rbenv install --list 2.6.9 2.7.5 3.0.3 3.1.0 jruby-9.3.2.0 mruby-3.0.0 rbx-5.0 truffleruby-21.3.0 truffleruby+graalvm-21.3.0 Only latest stable releases for each Ruby implementation are shown. Use 'rbenv install --list-all / -L' to show all local versions. #2 リスト確認 rbenv versions system * 2.5.1 (set by /Users/mark_naito/.rbenv/version) 2.6.3 2.6.4 2.6.5 2.6.6 #2 最新のrubyをインストール rbenv install 3.1.0 Downloading openssl-1.1.1l.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 Installing openssl-1.1.1l... Installed openssl-1.1.1l to /Users/mark_naito/.rbenv/versions/3.1.0 Downloading ruby-3.1.0.tar.gz... -> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz Installing ruby-3.1.0... ruby-build: using readline from homebrew Installed ruby-3.1.0 to /Users/mark_naito/.rbenv/versions/3.1.0 #2 再度確認 rbenv versions system * 2.5.1 (set by /Users/mark_naito/.rbenv/version) 2.6.3 2.6.4 2.6.5 2.6.6 3.1.0 #4 ruby 3.1.0を全体に採用 mark_naito@MacBook-Pro ~ % rbenv global 3.1.0 #5 バージョンを切り替えとで変更を反映 mark_naito@MacBook-Pro ~ % rbenv rehash #6 しっかり変更されているか確認 mark_naito@MacBook-Pro ~ % ruby -v ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin21] #7 gemfileと.ruby-versionsファイルのrubyバージョンを3.1.0に変更 #8 ホームディレクトリで実装していたので mark_naito@MacBook-Pro ~ % bundle install Could not locate Gemfile #9 開発中のアプリに移動 mark_naito@MacBook-Pro ~ % cd my_application mark_naito@MacBook-Pro my_application % cd lets_hang_out #10 ファイルと実際のバージョンが一致しない mark_naito@MacBook-Pro lets_hang_out % bundle install Your Ruby version is 2.5.1, but your Gemfile specified 3.1.0 #11 開発中のアプリに移動するもrubyのバージョンはそのまま mark_naito@MacBook-Pro lets_hang_out % ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin20] #12 確認 mark_naito@MacBook-Pro lets_hang_out % rbenv versions system * 2.5.1 (set by /Users/mark_naito/my_application/lets_hang_out/.ruby-version) 2.6.3 2.6.4 2.6.5 2.6.6 3.1.0 #13 rubyのバージョンを切り替える mark_naito@MacBook-Pro lets_hang_out % rbenv global 3.1.0 #14 インストールしたrubyを使用できるようにする mark_naito@MacBook-Pro lets_hang_out % rbenv rehash #15 rubyのバージョンが切り替わっているか確認するも切り替わっていない。。 mark_naito@MacBook-Pro lets_hang_out % ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin20] #16 localでrubyのバージョンを切り替える mark_naito@MacBook-Pro lets_hang_out % rbenv local 3.1.0 #17 確認 mark_naito@MacBook-Pro lets_hang_out % ruby -v ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin21] #18 ruby2.5.1で生成されたGemfile.lookを一旦削除 mark_naito@MacBook-Pro lets_hang_out % rm gemfile.lock #19 Gemfile.lockをRubyバージョン3.0.1で再生成 mark_naito@MacBook-Pro lets_hang_out % bundle install Fetching gem metadata from https://rubygems.org/......... #20 再生成されたGemfile.lockに記載されているRUBY VERSIONと一致しているのを確認し一致 ruby -v ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-darwin21]
該当のソースコード
Gemfile
ruby
source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '3.1.0' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' gem 'rails', '~> 6.0.4' # Use postgresql as the database for Active Record gem 'pg', '>= 0.18', '< 2.0' # Use Puma as the app server gem 'puma', '~> 4.1' # Use SCSS for stylesheets gem 'sass-rails', '>= 6' # Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker gem 'webpacker', '~> 4.0' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.7' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 4.0' # Use Active Model has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Active Storage variant # gem 'image_processing', '~> 1.2' # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.4.2', require: false group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # test gem 'factory_bot_rails' gem 'rspec-rails' end group :development do # Access an interactive console on exception pages or by calling 'console' anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '~> 3.2' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] # Assets gem 'bootstrap-sass' gem 'font-awesome-rails' gem 'jquery-rails' # Code analyze gem 'rails_best_practices' gem 'rubocop' # Debugger gem 'better_errors' gem 'binding_of_caller'
Gemfiel.look
ruby
RUBY VERSION ruby 3.1.0p0
エラーから考えられる原因
error内容にファイルが読み込めないと記述されているので
gemfileが読み読み込めるようにする必要がある?
ruby
require': cannot load such file
参考にしたURL
まだ回答がついていません
会員登録して回答してみよう