LoginSignup
1
1

More than 3 years have passed since last update.

macOS で Ruby 3.0.0-preview1 をインストール(Homebrew の ruby-build を使わない方法も)

Posted at

はじめに

Ruby 3.0.0 Preview 1 がリリースされました。
https://www.ruby-lang.org/en/news/2020/09/25/ruby-3-0-0-preview1-released/

型システム(という呼び方でいいのかしらん?)とか,並行プログラミングをサポートする Ractor だとか,超目玉機能が試せます。

macOS だと Homebrew で rbenv と ruby-build の二つのパッケージを入れて Ruby をインストールしている人が多いと思います。
本記事の読者はそういう方を念頭に置いています。

インストール その(1)

今回,3.0.0 Preview 1 がリリースされて速攻1で ruby-build が更新されたので,

brew update
brew upgrade ruby-build
rbenv install 3.0.0-preview1

とすれば OK。

インストール その(2)

ところが,Homebrew の ruby-build は,対応する Ruby がリリースされてすぐに更新されるとは限りません。
今回はたいへんありがたいタイミングでしたが,3.0.0-dev の場合はリリースされてもなっかなか入らず,結局 3.0.0-preview1 と同時に入ったのでした。

こういう場合,Homebrew の ruby-build パッケージを使わない方法があると Slack の ruby-jp で教えていただきました。

試してみたので,その方法を書きます。

まず,現状では Homebrew で rbenv と ruby-build が入っているので,ruby-build のほうをアンインストールします。
しかし,単純に

brew uninstall ruby-build

とやると,

Error: Refusing to uninstall /usr/local/Cellar/ruby-build/20200926
because it is required by rbenv, which is currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies ruby-build

とエラーが出て実行できませんでした。
(なお,消そうとしたヤツが「20200926」と最新になっているのは,brew upgrade したあとでこれを行ったからです)

そこで,上記のメッセージに書かれているとおり,

brew uninstall --ignore-dependencies ruby-build

とやってアンインストールしました。

次に,ruby-build を GitHub のリポジトリーからクローンします。
ruby-build は(単体でも使えるそうですが)rbenv と組み合わせる場合は,rbenv のプラグインとして働くよう,プラグイン置き場に置く必要があります。

典型的には,それはホームディレクトリーの .rbenv/plugins という場所です(Homebrew で ruby-build を入れた場合はこの場所にはありません)。
つまり,~/.rbenv/plugins ですね。

しかし,典型的でないケースもありうるので,確実に場所を把握したいところ。

rbenv root

plugins ディレクトリーの親ディレクトリーが表示されるので,以下の手順ではこれを利用します。

まず,plugins ディレクトリーは存在するとは限らないので,

mkdir -p "$(rbenv root)"/plugins

とやってディレクトリーを作ります。既に存在していたとしても問題は生じません。

そして,

git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

とやると,しかるべき場所に最新の ruby-build がクローンされます。

この状態で

rbenv install 3.0.0-preview1

とすると,3.0.0 Preview1 がインストールされます!
説明が長かったけど,やるべきことは単純ですね。四箇所コピペするだけでした。

将来,新しい Ruby がリリースされたら

git -C "$(rbenv root)"/plugins/ruby-build pull

で ruby-build を最新版にすればそれがインストールできます。

このへんのことは ruby-build の README にちゃんと書いてあります。

コピペ用まとめ

Homebrew で rbenv と ruby-build がインストールされている環境で,Homebrew 版の ruby-build をアンインストールしてから Ruby 3.0.0-preview1 をインストールするまでの全手順を,コピペしやすいよう,ここにまとめました。

Homebrew 版の ruby-build をアンインストール:

brew uninstall --ignore-dependencies ruby-build

GitHub から ruby-build をクローン:

mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

Ruby 3.0.0-preview をインストール:

rbenv install 3.0.0-preview1

クローンした ruby-build を更新:

git -C "$(rbenv root)"/plugins/ruby-build pull

さいごに

Ruby の新しい時代が始まる。さあ,扉を開こう!

え? 「うちは Windows」だって?


  1. タイムラグ 1 日くらい? 

1
1
0

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
1
1