rbenvとruby-buildプラグインを使用してRubyをインストールする方法を説明します。
ここではrootではなく一般ユーザとしてインストールします。ただし、パッケージのインストールにはroot権限が必要となります。
Rubyのビルドに必要なパッケージをインストールする
Rubyのビルド(コンパイル)に必要なパッケージをdnfでインストールします。
$ sudo dnf install tar git gcc make zlib-devel openssl-devel readline-devel libffi-devel libyaml-devel
rbenvをインストールする
rbenvとruby-buildプラグインをgithubのリポジトリからgit clone
します。
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenvコマンドが利用できるようにrbenv init
サブコマンドを実行します。ここではBashを利用しているので、~/.bash_profile
に設定が追加されました。
$ ~/.rbenv/bin/rbenv init
writing ~/.bash_profile: now configured for rbenv.
「ログインしなおす」などによってBashの設定を反映させます。
rbenvコマンドが使用できるか確認しつつ、インストールできるRubyのバージョンを確認します。
$ rbenv install -l
3.1.6
3.2.5
3.3.4
jruby-9.4.8.0
mruby-3.3.0
picoruby-3.0.0
truffleruby-24.0.2
truffleruby+graalvm-24.0.2
Only latest stable releases for each Ruby implementation are shown.
Use `rbenv install --list-all' to show all local versions.
インストールできるバージョンの中で最新の安定バージョンが表示されています。
ちなみに、インストールできる全てのバージョンを表示したい場合は、-L
オプションを指定します。
$ rbenv install -L
ここでは、Ruby 3.3.4をインストールします。
Rubyをビルドしてインストールする
rbenv install
コマンドにより、Rubyのソースのダウンロード、ビルド、インストールを順次実行します。(Rubyのビルドには時間がかかります。ビルド時間は実行環境によって異なります。)
$ rbenv install 3.3.4
==> Downloading ruby-3.3.4.tar.gz...
-> curl -q -fL -o ruby-3.3.4.tar.gz https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 21.0M 100 21.0M 0 0 40.5M 0 --:--:-- --:--:-- --:--:-- 40.4M
==> Installing ruby-3.3.4...
-> ./configure "--prefix=$HOME/.rbenv/versions/3.3.4" --enable-shared --with-ext=openssl,psych,+
-> make -j 2
-> make install
==> Installed ruby-3.3.4 to /home/user/.rbenv/versions/3.3.4
NOTE: to activate this Ruby version as the new default, run: rbenv global 3.3.4
Rubyのインストールが完了したら、rbenvで利用できるRubyのバージョンを確認してみます。
$ rbenv versions
* system
3.3.4
これでRuby 3.3.4が利用できるようになりました。
現状では、パッケージでインストールしたRuby (system)がグローバルで利用するバージョンとして指定されています。
グローバルで使用するRubyのバージョンを設定する
rbenv global
コマンドで3.3.4をグローバルで使用するバージョンとして設定します。
$ rbenv global 3.3.4
Rubyのバージョンをruby
コマンドを実行して確認します。
$ ruby -v
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [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.3.4/bin/ruby
$ rbenv which gem
/home/user/.rbenv/versions/3.3.4/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実行環境の構築が完了しました。