Help us understand the problem. What is going on with this article?

Homebrewのruby-buildの更新を待たずにrbenvで最新版のRubyをインストールする方法

はじめに

Homebrewでrbenvとruby-buildの組み合わせでRubyをインストールしている場合は、以下のコマンドで最新版のインストールパッケージを取得することができる。

brew upgrade rbenv ruby-build

ただし、最新のruby-buildがHomebrewに反映されるまでには数日かかることがあるため(※)、最新バージョンのRubyがリリースされてもすぐにインストールできないことがある。

※ 参考情報
ruby-buildの更新に時間がかかるのは、HomebrewへのPull request(以下PR)の作成とマージが必要になるから。
→ 例:ruby-build 20191205のPR

Homebrewの更新を待たずにすぐにインストールしたい場合は、以下の手順で自力で最新版のインストールパッケージをセットアップすることができる。(2019.12.26追記:@sakuroさんのコメントを参考にして以下の手順を全面的に修正)

手順1. ruby-buildのPull requestを確認する

ruby-buildのcloseされたPRを確認し、目的のバージョンがすでに取り込まれていることを確認する。

https://github.com/rbenv/ruby-build/pulls?q=is%3Apr+is%3Aclosed

ここでは下記のPR(2.7.0-rc1を対象にしたもの)を例に取り上げる。

https://github.com/rbenv/ruby-build/pull/1389

手順2. ruby-buildのリポジトリをclone または git pullする

まず、ruby-buildのリポジトリをローカルにクローンする。

git clone git@github.com:rbenv/ruby-build.git
cd ruby-build

すでにcloneしている場合はgit pullしてファイルを更新する。

cd ruby-build
git pull

手順3. RUBY_BUILD_DEFINITIONSを指定してインストールする

ruby-buildのリポジトリにはshare/ruby-buildというリポジトリがある。
このリポジトリを参照するようにRUBY_BUILD_DEFINITIONSオプションを指定し、rbenv install -lでインストール可能なバージョンが増えていることを確認する。

$ RUBY_BUILD_DEFINITIONS=share/ruby-build rbenv install -l | grep 2.7.0
2.7.0-dev
2.7.0-preview1
2.7.0-preview2
2.7.0-preview3
2.7.0-rc1       <= 新しく増えた
jruby-9.2.7.0

目的のバージョンが追加されていることを確認したら、インストールを実行する。

RUBY_BUILD_DEFINITIONS=share/ruby-build rbenv install 2.7.0-rc1

まとめ

手順は以上です。もっといいやり方をご存じの方がいたらコメントをお願いします!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away