読者です 読者をやめる 読者になる 読者になる

ちーくんのブログ

プログラミング備忘録

ローカル開発環境で複数バージョンのRuby on Railsを共存させる

Ruby on Rails

こんにちは。本日はローカル開発環境で複数バージョンのRails(例えばRails4系とRails5系)を共存させる方法です。

新しいRailsのバージョン(ここではRails5系)をインストールして、既存のRailsアプリ(Rails4系)を開くとGemやRubyRailsその他諸々の関係でエラーが発生してしまいます。

そこで各Railsバージョン用の別々のフォルダを作成し、バージョンごとに分けて管理する方法をおすすめします。


前提条件

Railsの開発環境が構築してある。

・Rails4(または3でも2でも)などの1バージョンがインストールされている。

・Homebrew、rbenv、ruby-buildを使用している。


Railsのインストールは過去記事を。

chi-kun.hatenablog.com


Railsバージョン用のフォルダをつくる

まずはRails4系とRails5系用のフォルダを作
る。

# Rails4系用
$ mkdir rails4

# Rails5系用
$ mkdir rails5


フォルダはこれでOKです。


Rubyをインストール

Rails5を使うには2.2.2以上のRubyが必要なので、今回は最新の2.3.1をインストールする。

$ rbenv install --l
・
・
 2.2.0
 2.2.1
 2.2.2
 2.2.3
 2.3.0-dev
・
・


あれあれ?2.3.1がない。。


これはrbenvとruby-buildが古いから最新のRubyが反映されていないため。


なのでrbenvとruby-buildをアップグレード。

$ brew upgrade rbenv ruby-build


これで最新バージョンのRubyをインストールできるはず。

$ rbenv install -l
  ・
  ・
  2.2.0
  2.2.1
  2.2.2
  2.2.3
  2.2.4
  2.2.5
  2.3.0-dev
  2.3.0-preview1
  2.3.0-preview2
  2.3.0
  2.3.1
  2.4.0-dev
  ・
  ・


バージョンを指定してインストール。

$ rbenv install 2.3.1


これでRubyのインストールはOKです。


各フォルダに移動してRubyのバージョンを指定する

まずはインストールされているRubyのバージョンを確認する。

$ rbenv versions
  2.2.1  # こっちをRails4に適用
  2.3.1  # こっちをRails5に適用


Rails4フォルダへ移動して以下コマンドでインストールしてるバージョンを指定します。

$ cd rails4

$ rbenv local 2.2.1


Rails5フォルダへ移動して以下コマンドで先ほどインストールしたrubyバージョンを指定します。

$ cd rails5

$ rbenv local 2.3.1


これでRails4というフォルダの中だけRuby2.2.1になります。

# Rails4
$ ruby -v
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]


そしてRails5というフォルダの中だけRuby2.3.1になります。

# Rails5
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]


これでそれぞれのフォルダで複数のRubyのバージョンを指定できました。


Rails5用のフォルダにRails5をインストールする。

それではRails5をインストールしましょう。

Rails5用のフォルダに移動して、Rails5をインストールします。

# フォルダ移動
$ cd Rails5

# Railsインストール
$ gem install rails --version "5.0.0" --no-rdoc --no-ri


これでRails5用のフォルダにはRails5がインストールされました。

$ rails -v
Rails 5.0.0


ちなみにRails4用のフォルダはRails4系です。

# フォルダ移動
$ cd Rails4

# バージョン
$ rails -v 
Rails 4.2.1


あとは最新のRails5を使用してアプリ開発したいときはRails5フォルダに移動してrails newすればOKです。


既存のRails4を使用しているRailsアプリはRails4フォルダに移動してまとめておいたほうがいいです。



本日は以上です。