Rubyを最新ソースからインストールする (rbebv)

rbenvruby-buildプラグインを使用してRubyをインストールする方法を説明します。

パッケージのインストール

Rubyと標準添付ライブラリのコンパイルに必要なパッケージをyumでインストールします。
rootでyumコマンドを実行するか、sudoコマンド経由でyumを実行します。

sudo yum install -y git gcc make zlib-devel openssl-devel readline-devel libffi-devel

rbenvのインストール

あとは一般ユーザでコマンドを実行していきます。
rbenvとruby-buildプラグインをgithubのリポジトリからgit cloneします。

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

rbenvが利用できるようにbashの設定ファイルを編集します。

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

ログインしなおしてbashの設定を反映させます。

rbenvが使用できるか確認しつつ、インストールできるRubyのバージョンを確認します。

rbenv install -l
2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.4.0
mruby-3.0.0
rbx-5.0
truffleruby-22.1.0
truffleruby+graalvm-22.1.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

インストールできるバージョンの中で最新の安定バージョンが表示されています。

ちなみに、インストールできる全てのバージョンを表示したい場合は、-Lオプションを指定します。

rbenv install  -L

ここでは、Ruby 3.1.2をインストールします。

Rubyのインストール

rbenv installコマンドにより、Rubyのソースのダウンロード、コンパイル、インストールを順次実行します。

rbenv install 3.1.2

インストールが完了したら、利用できるバージョンを確認してみます。

rbenv versions
* system
  3.1.2

これでRuby 3.1.2が利用できるようになりました。

現状ではまだパッケージでインストールしたRuby (system)が設定されています。

使用するRubyバージョンの設定

rbenv globalコマンドで3.1.2を使用する設定します。

rbenv global 3.1.2

Rubyのバージョンをrubyコマンドを実行して確認してみます。

ruby -v
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]

gemコマンドの実行

gemコマンドでpryをインストールしてみましょう。

gem install pry

ここで示した方法でrbenvをインストールした場合は~/.rbenv/以下にRubyやgemがインストールされるためgemコマンド実行の際にはroot権限やsudoコマンドが必要ありません。

which?

ではこのruby、gemはどこにあるのでしょうか? whichコマンドで調べてみます。

which ruby
~/.rbenv/shims/ruby
which gem
~/.rbenv/shims/gem

~/.rbenv/shims/以下のrubyとgemが実行されていることが分かります。これらのファイルはbashスクリプトです。実際にrbenvの設定によって実行される実体はrbenv whichによって確認出来ます。

rbenv which ruby
/home/user/.rbenv/versions/3.1.2/bin/ruby
rbenv which gem
/home/user/.rbenv/versions/3.1.2/bin/gem

複数のRubyのバージョンを利用できるrbenvの仕組みがなんとなく垣間見えたのではないでしょうか。

rbenv installで指定できるRubyバージョンの更新

最新のRubyがリリースされたら、~/.rbenv/plugins/ruby-build/git pullを実行することで、Rubyの新しいバージョンを試すことができます。

cd ~/.rbenv/plugins/ruby-build/
git pull
rbenv install -l
rbenv install 3.x.x
rbenv global 3.x.x

まとめ

これでrbenvによるRuby開発環境の構築が完了しました。