(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をインストールする。