RailsプロジェクトのRubyのバージョンを上げたときのメモ

RailsプロジェクトのRubyのバージョンを3.1.1から3.2.2に上げたときのメモです。

目次

環境

Ruby3.2.2のインストール

$ rbenv install --list


  • バージョンを指定してインストール
$ rbenv install 3.2.2


  • 反映
$ rbenv rehash


  • 確認
$ rbenv versions
system
  2.6.6
  2.7.1
  2.7.4
  3.0.0
  3.0.1
  3.0.2
  3.1.0
* 3.1.1 (set by /)
  3.2.2

更新前チェック

  • ブランチを切る
$ git checkout -b update-ruby-version-to-3.2.2


  • テストがパスすることを確認する
# 非推奨の機能が使われていたら警告を出す。
 RUBYOPT=-W:deprecated bundle exec rspec
..

Finished in 0.24363 seconds (files took 0.66897 seconds to load)
2 examples, 0 failures

Rubyのバージョンを上げる

$ rbenv local 3.2.2


# .ruby-version
3.2.2


# Gemfile
ruby '3.2.2'


  • gemを再インストール
bundle i


  • テストが通ることを確認
$ RUBYOPT=-W:deprecated bundle exec rspec
..

Finished in 0.32309 seconds (files took 1.71 seconds to load)
2 examples, 0 failures


  • .github/workflowsruby-versionも修正
name: Test
on: [ push ]
jobs:
  rspec:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.2.2'
      - name: Install dependencies
        run: bundle install
      - name: Run tests
        run: bundle exec rspec
  lint:
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Install Ruby and gems
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.2.2"
          bundler-cache: true
      - name: Rubocop
        run: bundle exec rubocop


  • Dockerfileを修正
FROM ruby:3.2.2

本番でも動作確認できたので終了です🎉

参考にしたサイト