DebianにRuby 3をインストール

(2024年1月2日 修正・補筆)

Ruby 3 がリリースされてだいぶ経つが、Debian unstableで用意されているパッケージのバージョンはこれを書いている時点で2.7だ。

Debianで Ruby 3を試すにはrbenvを使うか、似た別の方法を使う必要がある。 さらに、Debianのruby-buildパッケージには3以降が含まれないようなので、rbenvとruby-buildを自前でインストールする必要がある。

ここではシステム・ワイドでRuby 3をインストールしたときの記録だ。

ruby-buildで使うツールをインストールするために

sudo apt-get install build-essential curl libreadline6-dev zlib1g-dev autoconf automake bison git-core libtool libsqlite3-dev libssl-dev libxml2-dev libxslt-dev 

をしておけば安心だ。

rbenvのインストール

基本的にSystem Wide Install With rbenv に書いてある通りをやる。

キモはrbenvのフォルダをstaffグループにしておいて、ユーザーもstaffグループに存在すれば、ルート権限なしでも/usr/local/以下にRubyをインストールできるようになる、という点だ。

自分は/usr/local/share以下にrbenvを入れている。この辺はお好みで。

cd /usr/local/share
sudo sudo git clone git://github.com/sstephenson/rbenv.git rbenv
sudo chgrp -R staff rbenv
sudo chmod -R g+rwxXs rbenv
sudo adduser XXXX staff

ruby-buildのインストール

cd /usr/loca/share/rbenv
sudo mkdir plugins
cd plugins
git clone git://github.com/sstephenson/ruby-build.git
sudo git clone git://github.com/sstephenson/ruby-build.git
sudo chgrp -R staff ruby-build
sudo chmod -R g+rwxXs ruby-build

環境設定

使っているshellに合わせて以下の設定を入れておく。

自分の場合はzshなので.zshenv に入れた。

export RBENV_ROOT=/usr/local/rbenv 
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

このあと、ログインしなおす。

Ruby 3.0.2のインストール

rbenv install --list-all
rbenv install 3.0.2

ruby バージョンの切り替え

基本は

ruby local ***
ruby global ***

で切り替える。

% rbenv versions                                            [10032]
  system
* 3.0.2 (set by /home/XXXXX/.ruby-version)
% rbenv local system                                        [10033]
% rbenv versions                                            [10034]
* system (set by /home/XXXXX/.ruby-version)
  3.0.2
% ruby -v                                                   [10035]
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux-gnu]
% rbenv local 3.0.2                                         [10036]
% ruby -v                                                   [10037]
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]

rbenv, ruby-buildのアップデート

rbenv, ruby-buildは都度アップデートが必要。そうしないと最新のRubyをインスールできない。

いずれも、git pullする

rbenvのアップデート

cd /usr/local/share/rbenv
git pull

ruby-buildのアップデート

cd /usr/local/share/rbenv/plugins/ruby-build
git pull

あとは上記のようにして特定のバージョンのrubyをインストールする。