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]