Tech

CentOSにRubyをインストールする方法

CentOSにRudyをインストール

CentOSにRubyをインストールする方法の手順を作成しました。

公式サイトにいろいろなインストール方法が書いてありますが、分かりにくいのでまとめました。
Ruby ダウンロード

試した環境は CentOS 7.6 です。(2021年4月時点の実行結果です)

インストールの流れ

1. yum で Rubyをインストール
2. rbenvのインストール
3. rubyのインストールに必要なパッケージをインストール
4. rubyのバージョンを指定してインストール
5. rubyのバージョンを切り替え

王道の yum で rubyをインストールします。

# yum install ruby
========================================================================
Package             アーキテクチャー    バージョン    リポジトリー   容量
=========================================================================
ruby                 x86_64      2.0.0.648-36.el7    base    73 k
依存性関連でのインストールをします:
ruby-irb             noarch      2.0.0.648-36.el7    base    94 k
ruby-libs            x86_64      2.0.0.648-36.el7    base   2.8 M
rubygem-bigdecimal   x86_64      1.2.0-36.el7        base    85 k
rubygem-io-console   x86_64      0.4.2-36.el7        base    56 k
rubygem-json         x86_64      1.7.7-36.el7        base    81 k
rubygem-psych        x86_64      2.0.0-36.el7        base    84 k
rubygem-rdoc         noarch      4.0.0-36.el7        base   324 k
rubygems             noarch      2.0.14.1-36.el7     base   215 k
==========================================================================
インストール  1 パッケージ (+8 個の依存関係のパッケージ)
# ruby -v
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]  ★古い

yum では安定版である 2.7 や 3.0 がインストールされません。

バージョン 2.0ではサポート外のソフトが多いので、2.7 や 3.x のインストールが必要です。

————————————————
■Rubyを最新版に更新

rbenvを使って、Rubyの環境を作成します。(「Ruby environment」の略)

rbenvとは、Rubyのインストールとバージョン切り替えなどを簡単に行えるツールです。
rbenvは、複数のバージョンのRudyをインストールして切り替えて使うことが可能です。

# git をインストール
$ sudo yum install git

# rbenvインストール
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

# ディレクトリが作成されていることを確認。
$ ls -d ~/.rbenv

# ruby-buildのインストール
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

# ディレクトリが作成されていることを確認。
$ ls -d ~/.rbenv/plugins/ruby-build

# .bash_profile を編集して rbenvのパスを通す
echo '# rbenv' >> ~/.bash_profile
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile


# 正しく書き込まれたか念のために確認
$ cat ~/.bash_profile

# 設定の反映(再読み込み)。再ログインでもOK
$ source ~/.bash_profile

# rubyのインストールに必要なパッケージをインストール(いろいろ必要)
$ sudo yum -y install bzip2 gcc openssl-devel readline-devel zlib-devel

# 各パッケージのバージョン確認(yumにお任せなので何か問題があったときの調査用)
$ bzip2 --version
$ gcc --version
$ yum list installed | grep openssl-devel
$ yum list installed | grep readline-devel
$ yum list installed | grep zlib-devel


# rubyのバージョン確認
$ rbenv --version

# インストールできるrubyのバージョンを確認
$ rbenv install --list
2.5.8
2.6.6
2.7.2
3.0.0

# rubyインストール   rbenv install 
# 2.7.2をインストールしてみる。
$ rbenv install 2.7.2

# 切り替え可能なrubyのバージョンを確認
$ rbenv versions

# rubyのバージョンを切り替え  rbenv global 
$ rbenv global 2.7.2

# rubyのバージョンが切り替わったことを確認
$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]

ruby 2.7.2p137 をインストールできました。