CodeBox CodeBox

【初心者向け】RubyとRailsをバージョンを切り替える方法

Ruby / Rails
けい

概要

今回はRubyとRailsのバージョンをダウンする方法について解説していきます。例えばAというプロジェクトにはRails 6を使い、BというプロジェクトにはRails 5を使いたい場合に有効です。

1.RubyとRailsのバージョンを確認する

現在使用しているRubyとRailsのバージョンを確認します。ターミナルで下記コマンドを順番に実行しましょう。

> rails -v
> ruby -v


コマンドを実行すると下記のような結果になります。自分の場合、既にRails 6を使っていたので、下記のような表示になります。

Rails 6.0.3.3
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]


これがグローバル(PC上)で管理されているRailsとRubyのバージョンです。今回はこれらを5系の古いバージョンに落としたいと思います。

2.Rubyのバージョンダウン

まずは古いバージョンのRubyをインストールしていきます。Railsを動かすにはRubyが必要になります。
rbenvでインストールできるRubyのバージョンを確認します。下記コマンドをターミナルで実行してください。

> rbenv install --list


もちろん結果は皆さんの環境次第で変わります。

2.5.8
2.6.6
2.7.1
jruby-9.2.12.0
maglev-1.0.0
mruby-2.1.1
rbx-5.0
truffleruby-20.1.0
truffleruby+graalvm-20.1.0


ここでアプリのディレクトリを作りましょう。ディレクトリの作成は『mekdir』(make directory)コマンドを使います。

今回はアプリ名をDemoappにしてみました。

> mkdir Demoapp


そして『cd』コマンドでディレクトリを移動します。

cd Demoapp


ここでようやくRubyをインストールしていきます。先程確認した通り、『2.5.8』バージョンのRubyをインストールします。

下記コマンドを実行してください。必ず作成したディレクトリにいることを確認してください。

> rbenv install 2.5.8


そうするとRubyのインストールが始まります。

Downloading openssl-1.1.1g.tar.gz...


次に使用するRubyのバージョンを切り替えます。次に使用できるRubyのバージョンを下記コマンドで確認します。

> rbenv versions


現在使用しているRubyのバージョンには、*がついています。今回は『2.6.5』が選択されていますね。

  system
  2.2.0
  2.5.1
  2.5.8
* 2.6.5 (set by /Users/ユーザー名/.rbenv/version)


今回は『2.5.8』に切り替えたいので、下記コマンドを順番に実行してください。

> rbenv local 2.5.8
> rbenv rehash


Rubyのバージョンが切り替わったか確認します。

> rbenv versions  

//実行結果
system
  2.2.0
  2.5.1
* 2.5.8 (set by /Users/ユーザー名/CARAVAN/.ruby-version)
  2.6.5


無事Rubyが古いバージョンに切り替わりました。残りはRailsですね!!

3.Railsのバージョンダウン

続いてRailsをバージョンダウンしていきます。今回は『6.0.3.3』から『5.2.3』に下げる想定です。

必ず先程作成したディレクトリにいることを確認して作業してください。下記コマンドをターミナルで実行します。

> gem install rails -v 5.2.3


処理が終わったらRailsのバージョンを確認して、Rails 5系にバージョンダウンされていることを確認しましょう。

> rails -v


ここまででRailsのバージョンダウンが終了しましたが、ついでにアプリの雛形とデータベースをpostgreSQLに切り替えましょう。ここからの作業は必須ではないです。

postgreSQLのインストール方法は下記記事を参考にしてください。
https://codebox-lib.netlify.app/postgresql-setup

postgreSQLをインストールできたら下記コマンドを実行してください。

rails _5.2.3_ new . -d postgresql --skip-bundle


4.postgreSQLのデータベースを作成する

最後にpostgreSQLのデータベースを作成します。この作業を行わないとサーバーを起動してもエラーがでます。

では下記コマンドを順番に実行してください。

> rails db:create
> rails db:migrate
> rails db:seed


これでデータベースの作成完了です。最後に下記コマンドでサーバーを立ち上げます。

> rails s


最後にルートディレクトリでRubyとRailsのバージョンを確認してみましょう。

// ルートディレクトリに移動
> cd 

// Ruby & Railsのバージョンを確認
> ruby -v
> rails -v

//実行結果
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
Rails 6.0.3.3


作成したアプリの中では、古いRuby&Railsのバージョンがインストールされましたが、アプリの外ではこれまで通りRails 6系が維持されています。

解説は以上です。

ABOUT ME

けい
ベンチャーのフロントエンジニア。 主にVueとTypescriptを使っています。ライターのための文字数カウントアプリ:https://easy-count.vercel.app/