17
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RubyとRailsを古いバージョンから一気に最新安定版にあげた

Posted at

2019年3月末でRuby2.3系のサポートが切れるわけだが、
現在携わっているプロジェクトがまさに2.3系を使用していたので
一気に最新安定版のRuby2.6系にあげてみたのでそれの備忘録。

##現在の環境

  • Ruby 2.3.1
  • Rails 4.2.7.1
  • CentOS 7.2

自機がwin10なので仮想環境(Vagrant+Docker)で整えています

##ひとまずRubyのバージョン確認

$ rbenv install --list
(中略)
2.6.0
2.6.1
2.7.0-dev
(中略)

rbenvのバージョンはすでに最新版になっていたので
2.6.1を選択する
※MacではないためHomebrewが使えないのでruby-buildを最新版に更新する必要がある。
 (多分OSとruby-build updateみたいなワードでググれば出てくるはず)

####最新バージョンをインストール

$ rbenv install 2.6.1

インストールできたら念の為バージョン確認

$ rbenv versions
  system
  2.3.1
  2.3.8
* 2.6.1 (set by /home/vagrant/workspace/2.6ver/myapp/.ruby-version)

他のプロジェクトではまだ2.3系を使ってるので
今回はローカルでバージョン指定しておいた
(そっちも早く上げろというのは置いといて

####gemをアップデート
割と忘れがちなgemのアップデート。
これやっとかないとRubyとgemで差分エラーみたいなものに遭遇する。

$ gem update

これが結構時間かかるのでこの間にコーヒーとかでも飲むといいよ^^

####bundlerもバージョンアップしておく
2.6系から標準でbundlerが搭載されたらしいが、
最新版インストールしたから~と言って
bundlerもそのまま上がってるわけではないので
これもアップデートしておく

$ gem install bundler

####Railsもバージョンアップ

$ gem install rails

(まだ6.0系がリリースされていなかったので5.2.2が最新版になった

###既存システムのGemfileを書き換え
Railsのバージョンを上げたので、それに伴って
Gemfileに記述しているRailsのバージョンを更新したバージョンに書き換える

# Gemfile
(中略)
gem "rails", "5.2.2"
(中略)

####書き換えたらアップデート

$ bundler update

gemの依存性問題などでエラーハンドルしたら
バージョンのコンフリクトなどが考えられるので
gem cleanupで対処する

-あとがき-
Railsのバージョンを上げたときに、Gemfileに記述した
バージョン指定が影響していることもあるので
その際は、gem "rails"以降のバージョン指定部分を削除しておくと
インストールができるはず。。

17
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?