🙋‍♂️

【Rails】アプリケーションのRubyのバージョン変更方法

に公開

今日はデプロイをしていました。
Rubyのバージョンが違ったためにエラーを起こし手こずったので、解決方法を記録します。

スクールでのデプロイの仕様環境がRuby3.1.2だったのですが、俺はRuby3.0.6でした。
3.1.2への修正方法は以下の通り。

Rubyのインストール(全体編)

Rubyのインストールとデフォルト設定

ターミナルで以下の入力をしてインストールする。

ターミナル
ec2-user:~/environment $ rvm get stable
ターミナル
ec2-user:~/environment $ rvm install 3.1.2

インストールしたRuby 3.1.2をデフォルトに設定する。
デフォルト設定することでアプリケーション作成した際にそのバージョンで使える。

ec2-user:~/environment $ rvm --default use 3.1.2

現在のRubyのバージョンとデフォルト設定は以下のコマンドで確認できる。

ターミナル
ec2-user:~/environment $ rvm list

結果が3.1.2になっていればOK。

入力結果
   ruby-3.0.6 [ x86_64 ]
=* ruby-3.1.2 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

アプリケーションの修正(個別編)

ターミナル設定

以下コマンド(Rubyのバージョン表示)でインストールしているRubyの確認。

ターミナル
ruby -v
入力結果
ruby 3.0.6…のように表示される

全体編でも記載の通り、以下を入力してバージョンを変更する。

ターミナル
rvm --default use 3.1.2

.ruby-versionファイルの編集

作成しているアプリケーション配下にある以下のファイルを使いたいバージョン名に変更する。

.ruby-version
+ ruby-3.1.2
- ruby-3.0.6

Gemfile編集

Gemfileにも旧バージョンが記載されているので、使いたいバージョン名に変更する。

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

+ ruby '3.1.2'
- ruby '3.0.6'

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

:
:

bundle installを忘れずに。

ターミナル
bundle install

これで完了!

Gemfile書き換えてbundle installで行けると思っていたけど、結構処理が必要だった。

Discussion