68
52

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ubuntu で最新の Ruby をインストールする方法

Last updated at Posted at 2020-02-15

※ 2022/06/25: インストール手順を一部変更。記事全体を修整。

※ Ubuntu 以外の環境でも同様の方法でインストールできる場合がありますが、より説明を抽象化しないといけなくなるため、本記事では Ubuntu 用として書いています。

1. 既に apt や RVM でインストールされている場合は一度アンインストール

本記事では apt や RVM 以外の手段でインストールするため、既に apt や RVM でインストールされている場合は一度アンインストールします。

apt の場合の Ruby アンインストール
sudo apt purge ruby rbenv ruby-build
rm -rf ~/.rbenv

※ RVM の場合の Ruby アンインストールは本記事では略。

2. インストール

Ruby のインストール方法は複数ありますが、本記事では rbenvruby-buildgit clone して rbenv install します (apt は使いません) 。

(必要な他ツールのインストールは apt を使っても大丈夫です。)

Ruby のインストールに必要なツールをインストール
sudo apt update
sudo apt install gcc make
sudo apt install libssl-dev zlib1g-dev
Ruby をインストール
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 する

rbenvruby-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 高速化あり
68
52
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
52

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?