guache
@guache (郡司 いたみ)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【Ruby on Rails】本番環境でのrails sができなくなった

Q&A

Closed

Qiita・プログラミング初心者です。
至らぬことが多いですが、よろしくお願いします。

実行環境

ruby 2.6.3
Rails 6.1.6.1
AmazonのEC2、RDS、デプロイにPumaとNginxを利用しています。

解決したいこと

Ruby on Railsでコミュニティサイト風のWebアプリを制作中です。
EC2にログインして本番環境でアプリケーションを起動しようと$ rails s -e productionを実行したところ、以下のようなメッセージが出るようになり、起動もできなくなってしまいました。

rbenv: rails: command not found

The `rails' command exists in these Ruby versions:
  3.1.2

どうやらポートフォリオで色々している間に、rubyのバージョン設定を触ってしまっていたようです。ローカル環境ではrails sもアプリケーションの起動も出来ているのですが…。

該当するソースコード

Gemfile
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.6.3'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
gem 'rails', '~> 6.1.6', '>= 6.1.6.1'

(以下略)
.ruby-version
ruby-2.6.3

自分で試したこと

インストールされているrubyのバージョンを確認すると

ec2-user:~/environment/~~~ (main) $ rvm list
=* ruby-2.6.3 [ x86_64 ]
   ruby-3.1.2 [ x86_64 ]

# => - current
# =* - current && default
#  * - default
ec2-user:~/environment/~~~ (main) $ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

バージョンはEC2にログインした状態でも同様でした。
また、$ rvm --default use 3.1.2で 3.1.2をデフォルトで使うよう設定したところ、

ec2-user:~/environment/~~~ (main) $ rails s
bash: rails: command not found

ローカルのrails sもコマンドがないと返されてしまったため慌てて元に戻しました。。
これまで出来ていたように、rails sで本番環境のアプリケーションを起動できるようにしたいです。
①rubyのバージョンをローカルもEC2も3.1.2にしてしまう
②現状の2.6.3のままrailsコマンドを使えるようにする
のどちらかだと思うのですが、いずれも今のところ上手く行っていません。解決方法や解決の前に確認すべきことなど、ご教示いただけると幸いです。

0

1Answer

Comments

  1. @guache

    Questioner

    ありがとうございます!
    bundle installを試したところ、いくつかのgemがインストールできました。
    ただEC2ログイン状態でrailsコマンドを使おうとすると相変わらずcommand not foundとなってしまいます…
    引き続き色々試してみたいと思います!

Your answer might help someone💌