No day younger than today

RubyとかRailsとか蒙古タンメンとか

RailsでのRubyのバージョンアップ

先日、Railsで使用しているRubyを3.0.1から3.0.2にバージョンアップしました。 今後もまたバージョンアップする機会がありそうなので、手順を残しておきます。

バージョンアップの手順

# 現在のRubyバージョンの確認
$ ruby -v

# rbenvでインストール済みのRubyバージョンの一覧を表示
$ rbenv versions

# rbenvでインストールできるRubyバージョンの一覧を表示
$ rbenv install -l

# 以下は欲しいバージョンが表示されなかった場合のみ実行
$ brew update
$ brew upgrade rbenv ruby-build

# 3.0.2をインストール
$ rbenv install 3.0.2

# .ruby-versionの書き換え
$ rbenv local 3.0.2


# 以下は失敗する
$ bin/rails s
$ bundle install

最後の2つのコマンドを実行すると、「Rubyのバージョンが違うよ!」と怒られるはずです。
そこまで確認できたら、Gemfileを更新します。

# Gemfile
- ruby '3.0.1'
+ ruby '3.0.2'

これでbundle installが実行できるはずです。
bundle installして、動作を確認します。

$ bundle install

# 動作確認
$ bin/rails s
$ bundle exec rubocop
$ bundle exec rspec

まとめ

バージョンアップは初めてで、なんとなく「絶対ハマりそう…」という先入観から苦手意識がありました。
しかし、特にハマることもなくすんなりバージョンアップできてしまい、あの恐怖感はなんだったのかという感じです。

今回はパッチバージョンのバージョンアップだけだったので、そこまで大きな変化もなかったことで影響はなかった(アプリ自体、作成初期だったのもあるでしょう)のですが、これが大規模なアプリだったり、大幅なバージョンアップだったりするとそうもいかないと思います。

そういう意味で今回基本的なバージョンアップを経験できたことはとてもよかったです。
基本を知らないと応用は効かないと思います。

今後も変に苦手意識を持ったりせずに、何事もチャレンジしていきたいと思いました。