Close icon
2023月10日19日

RailsのプロジェクトのRubyをバージョンアップ

現在、Railsアプリの開発環境では、Ruby 2.7.6を使用しています。
開発中のプロジェクトから、最新版のRuby 3.2.2にアップデートしていこうと思います。

開発環境

  • macOS 12.6
  • Rails 6.1.7.6
  • Ruby 2.7.6
  • rbenv 1.2.0

ruby 3.2.2をインストール

rbenvでruby 3.2.2をインストールしようとするとエラーが発生しました。

$ rbenv install 3.2.2
To follow progress, use 'tail -f /var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.log' or pass --verbose
Downloading openssl-3.1.2.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539
Installing openssl-3.1.2...
Installed openssl-3.1.2 to /Users/kuru/.rbenv/versions/3.2.2

Downloading ruby-3.2.2.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz
Installing ruby-3.2.2...
ruby-build: using readline from homebrew
ruby-build: using gmp from homebrew

BUILD FAILED (macOS 12.6 using ruby-build 20230717-11-g4d4678b)

Inspect or clean up the working tree at /var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.2vbRCR
Results logged to /var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.log

Last 10 log lines:
  Check ext/psych/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
Generating RDoc documentation
/private/var/folders/w7/_wr_6y2x1vddzkt6xqdd_cj40000gs/T/ruby-build.20231019164019.8039.2vbRCR/ruby-3.2.2/lib/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
uh-oh! RDoc had a problem:
cannot load such file -- psych

run with --debug for full backtrace
make: *** [rdoc] Error 1

libyamlをインストール

To eliminate this warning, please install libyaml and reinstall your ruby.

このようなメッセージが表示されているので、libyamlをインストールします。

$ brew install libyaml

再度、ruby 3.2.2をインストール

$ rbenv install 3.2.2

libyamlをインストール後に、Ruby 3.2.2をインストールすると正常にインストールされました。

RailsプロジェクトにRubyのバージョンを設定

開発中のRailsプロジェクトでは、.ruby-versionにrubyのバージョンを指定しています。
.ruby-versionのバージョンを3.2.2に変更します。

.ruby-version

3.2.2

Ruby 3.2.2の環境にRailsをインストール

$ gem install -v 6.1.7.6 rails

railsのインストール後に、下記のメッセージが表示される。

A new release of RubyGems is available: 3.4.103.4.21!
Run `gem update --system 3.4.21` to update your installation.

gemをアップデート

$ gem update --system 3.4.21

gemのバージョンを確認

$ gem -v
3.4.21

Gemfileのrubyのバージョンを変更

変更前

ruby '2.7.6'

変更後

ruby '3.2.2'

bundle installを実行

$ bundle install

以上の手順でRailsプロジェクトでRubyのバージョンアップを行い、Railsアプリが起動できることを確認しました。


手順を整理

整理すると下記のようになります。

libyamlをインストール

$ brew install libyaml

Ruby 3.2.2をインストール

$ rbenv install 3.2.2

Railsプロジェクトの.ruby-versionを変更

.ruby-version

3.2.2

Gemfileのrubyのバージョンを変更

変更後のGemfile

ruby '3.2.2'

bundle install

$ bundle install

ruby 3.2.2の環境にrailsをインストール

$ gem install -v 6.1.7.6 rails

gemをアップデート

$ gem update --system 3.4.21


アトトックラボとは

株式会社アトトックメンバー が技術の話、デザインの話、キャラクターの話、ときどき脱線してガジェットの話やライフハックの話など好きなことを書いています。


連載記事


最近の記事


タグ