【Ruby on rails】rubyのバージョン変更中にエラーが出ます
Qiita・プログラミング初心者です。
至らぬことが多いですが、よろしくお願いします。
実行環境
ruby 2.6.3(→3.1.2)
Rails 6.1.6.1
AmazonのEC2、RDS、デプロイにPumaとNginxを利用しています。
解決したいこと
Ruby on Railsでコミュニティサイト風のWebアプリを制作中です。
EC2にログインしてrails sをすると下のようなメッセージが出て、アプリケーションの起動ができなくなっていました。
rbenv: rails: command not found
The `rails' command exists in these Ruby versions:
3.1.2
元々アプリの制作はrubyのバージョン2.6.3で行っていましたが、この機会に3.1.2に変更しようとしたところ、別のエラーメッセージが出るようになってしまいました。
問題のエラーメッセージ
Your Ruby version is 3.1.2, but your Gemfile specified 2.6.3
ローカルで行ったこと
・使用するrubyのバージョンを3.1.2に変更
$ rvm --default use 3.1.2
・Gemfileの記述を変更
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '3.1.2'#ここを2.6.3から3.1.2に
・.ruby-versionの記述の変更
ruby-3.1.2
その後bundle installを実行。(ローカルでは)rails sも問題なく実行できました。
EC2にログインして行ったこと
[ec2-user@ip-172-31-92-112 ~~~]$ rbenv install 3.1.2
[ec2-user@ip-172-31-92-112 ~~~]$ rbenv local 3.1.2
[ec2-user@ip-172-31-92-112 ~~~]$ bundle install
2行目はrbenv globalだと何の反応もなかったためlocalとしています。bundle installを実行すると、通常表示される情報の前に
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:29: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:44: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rvm/gems/ruby-3.1.2/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:44: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
不穏なメッセージが表示されましたが、私の理解が追い付いていないため保留に。
rubyのバージョンを確認すると
[ec2-user@ip-172-31-92-112 ~~~]$ rbenv versions
2.6.3
* 3.1.2 (set by /home/ec2-user/~~~/.ruby-version)
3.1.2へ切り替え自体は出来ていたようなので、
rails -vを試してみると
[ec2-user@ip-172-31-92-112 ~~~]$ rails -v
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:29: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:44: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:44: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:35: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:44: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
/home/ec2-user/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
Your Ruby version is 3.1.2, but your Gemfile specified 2.6.3
先ほど保留した警告メッセージと似た文章と、Your Ruby version is 3.1.2, but your Gemfile specified 2.6.3と表示されてしまいました。バージョンの設定を変更ができていない部分がまだある、ということだと思うのですが、その方法がわかりません。
2.6.3のままでは埒が明かなかったため、3.1.2に統一してrailsコマンドを実行するのが現在の目標です。
解決方法やアドバイスなどご教示いただけると幸いです。