【初心者向け】RubyとRailsをバージョンダウンする方法

  • RubyとRailsをバージョンダウンしたい方
  • ローカルとグローバルでバージョンを分けたい方
  • クライアントから古いバージョンのRailsを要求された方
  • 既にRailsを使ったことがある方
けい
けい

こんにちは!
最近クライアントから古いVerのRailsで要求された(@new_design)です。

今回はRubyとRailsのバージョンをダウンする方法について解説していきます。

例えば今6系のRailsを使っているけど、制作するアプリによっては5系のRailsを使いたいというケースがあるかと思います。

要するにPC内(グローバル)のRailsのバージョンをいじらずに、該当するアプリ(ローカル)のRubyやRailsを変えたいという時ですね。

注意事項

次の章から紹介する方法は『rbenv』『Homebrew』がインストールされていることが前提で進みます。必ずこの2つを準備しておいてください。

①rbenv :Rubyのバージョン管理するもの。アプリによってRubyのバージョンを切り替えたい場合に必要です。

②Homebrew:Macのパッケージを管理するもの

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

まずは現在使用しているRubyとRailsのバージョンを確認します。この時点でアプリのディレクトリを作成する必要はありません。

ターミナルで下記コマンドを順番に実行しましょう。

rails -v
ruby -v

そうすると下記の結果が返ってきましたね。

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

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

Rubyのバージョンダウン

古いバージョンのRubyをインストールしていきます。

Ruby on Railsと言うからには、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

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

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

1通り処理が完了したら、下記コマンドを実行しましょう。今選択されているRubyのバージョン(*がついている)を確認できます。

rbenv versions

結果はこちらです。現在『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

そしてもう一度バージョンを『rbenv versions』で確認する。結果は下記の通りで古いバージョンに切り替わりました。

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

ここまででRubyのバージョンダウンに成功しました。残りはRailsですね。

Railsのバージョンダウン

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

必ず先程作成したディレクトリにいることを確認しましょう!!アプリによってバージョンを変えることが目的なので、ルートディレクトリで処理すると全体でバージョンダウンされるので。

まずは下記コマンドをターミナルで実行します。ここから処理が始まりますので、気長に待ちましょう。

gem install rails -v 5.2.3

これで完成です。ついでにアプリの雛形とデータベースをpostgreSQLに切り替えましょう。(デフォルトでDBはSQliteに設定されています。)

postgreSQLのインストール方法は下記記事の最初の項目で解説していますので、参考にしてくださいね。

RailsのデータベースをSQLiteからPostgresqlに変える方法【デイトラ】

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

rails _5.2.3_ new . -d postgresql --skip-bundle
  • newでアプリの雛形を作成
  • -dでデータベースにpostgreSQLを作成
  • –skip-bundleはgemのインストールを後回しにする

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

rails -v

postgreSQLのデータベース作成

最後にpostgreSQLのデータベースを作成します。ここをやらないと『rails -s』でサーバーを起動してもエラーがでます。

下記コマンドを順番に実行しましょう。

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

これでデータベースができました。最後に『rails -s』コマンドでサーバーを起動しましょう。

わーい。無事サーバーが起動しましたね。

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

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

よし。グローバルは変わっていませんね!狙い通り。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です