※ 2022/06/25: インストール手順を一部変更。記事全体を修整。
※ Ubuntu 以外の環境でも同様の方法でインストールできる場合がありますが、より説明を抽象化しないといけなくなるため、本記事では Ubuntu 用として書いています。
1. 既に apt
や RVM でインストールされている場合は一度アンインストール
本記事では apt
や RVM 以外の手段でインストールするため、既に apt
や RVM でインストールされている場合は一度アンインストールします。
sudo apt purge ruby rbenv ruby-build
rm -rf ~/.rbenv
※ RVM の場合の Ruby アンインストールは本記事では略。
2. インストール
Ruby のインストール方法は複数ありますが、本記事では rbenv
と ruby-build
を git clone
して rbenv install
します (apt
は使いません) 。
(必要な他ツールのインストールは apt
を使っても大丈夫です。)
sudo apt update
sudo apt install gcc make
sudo apt install libssl-dev zlib1g-dev
git clone --depth 1 https://github.com/rbenv/rbenv.git ~/.rbenv
# rbenv の高速化
cd ~/.rbenv && src/configure && make -C src
# .bashrc や .bash_profile 等に以下の記述を追加
#
# export PATH="$HOME/.rbenv/bin:$PATH"
# eval "$(rbenv init - bash)"
#
# source ~/.bashrc 等で再読み込み
git clone --depth 1 https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
# インストール可能な Ruby のバージョンを確認
rbenv install -l
# バージョンを指定して Ruby をインストール
# ここではバージョン 3.1.2
rbenv install 3.1.2
# バージョン切り替え
# ここではバージョン 3.1.2
rbenv global 3.1.2
# source ~/.bashrc 等で再読み込み
※ libssl-dev のバージョンによってインストールに失敗する場合があります。場合によって対処法が異なるので、本記事では具体的な対処法は略。"The Ruby openssl extension was not compiled." 等で調べてください。
参考「GitHub - rbenv/rbenv: Manage your app's Ruby environment」
参考「GitHub - rbenv/ruby-build: Compile and install Ruby」
3. 説明
3.1. sudo apt install
を使わない
sudo apt install
すると最新版の Ruby にできず、また、/usr/bin
以下にインストールされるため、gem
等を使用する際も毎回 sudo
が必要になります。
sudo
なしで gem
を使用し、かつ Ruby を最新版にしたいなら、sudo apt install
は使えません。
(必要な他ツールのインストールは apt
を使っても大丈夫です。)
参考「GitHub - rbenv/rbenv: Manage your app's Ruby environment」
3.2. git clone
する
rbenv
と ruby-build
に関しても sudo apt install
だと最新にできない可能性があるため、git clone
を用いてインストールします。
3.3. RVM でなく rbenv を使用する
場合によるかもしれませんが、本記事では RVM でなく rbenv を使用して Ruby をインストールします。
理由は下記の参考記事を参照。
参考「Why rbenv? · rbenv/rbenv Wiki · GitHub」
3.4. rbenv の高速化
下記の参考記事を参照。
参考「GitHub - rbenv/rbenv: Manage your app's Ruby environment」
3.5. その他の Ruby インストール方法
下記の参考記事を参照。
参考「Installing Ruby」
3.6. インストール時間に関して
個人的な記憶では、以前はインストールにかなり長い時間がかかっていた気がするのですが、現在確認するとそこそこの時間でインストールできました。
以下の条件が異なっているためかもしれません:
- 旧環境:
- ストレージは HDD
- Windows Subsystem for Linux (WSL。おそらくバージョン 1)
- Ubuntu 16.04
- Ruby 2.7.0
- rbenv 高速化なし
- 新環境:
- ストレージは SSD
- Windows Subsystem for Linux (WSL) 2
- Ubuntu 22.04
- Ruby 3.1.2
- rbenv 高速化あり