Ruby2.0をソースからインストールする手順 (CentOS/RedHat)

Ruby2.0 を CentOS/RedHat にソースコードをコンパイルしてインストールする方法について、手順を説明します。 なお、手順は全て root ユーザーで実施します。

古いバージョンのRubyの削除

念のため、古いバージョンのRubyが既にインストールされていない事を確認しましょう。 もし古いバージョンのRubyがインストールされている場合は削除します。

古いRubyがyumでインストールされていないかを確認します

# yum list installed | grep ruby

何も結果が表示されなければインストールされていませんので次のステップに進んでも良いですが、もし上のコマンドで結果が表示された場合は次のコマンドでRubyを削除します。

# yum remove ruby

ソースコードのダウンロード

Ruby2.0のソースコードを公式サイトのダウンロードページから入手します。 2013年12月現在では、ruby 2.0.0-p353 が最新です。 ここでは tar.gz 形式で配布されているソースファイルをダウンロードします。 ダウンロード場所は /usr/local/src です。

# cd /usr/local/src
# wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz

「なんで /usr/local/src にダウンロードするの?」と思われた方は、以下の記事などが参考になります。 簡単に言えば、管理者が自分でソフトウェアをソースからインストールする時に、ソースを置く場所を /usr/local/src とする習慣(決まり?)があるからです。

各ディレクトリの役割を知ろう(サブディレクトリ編) (2/2) – @IT
http://www.atmarkit.co.jp/ait/articles/0109/07/news002_2.html

ソースコードを展開

ダウンロードしたソースコードを展開します。 展開すると ruby-2.0.0-p353 というディレクトリが作成され、その中にソースコードが入っているはずです。

# tar zxvf ruby-2.0.0-p353.tar.gz

コンパイル&インストール

下記のコマンドでコンパイル&インストールを実行します。 ここで、もしコンパイルに必要なライブラリが足りていない場合は怒られますので、そのような場合は個別にライブラリをインストールしてから、再度チャレンジしてください。

# cd /usr/local/src/ruby-2.0.0-p353
# ./configure
# make
# make install

これでインストール完了です。

インストール後の確認

実際にRubyのコマンドを叩いてインストールされたことを確認しましょう。 ここではインストールした Ruby のバージョンを表示するコマンドを叩いて確かめます。 コマンドを叩いてすぐに Ruby のバージョンが表示されます。

# ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]

インストール先はどこ?

上記の流れでインストールされたRubyのインストール先は、/usr/local/bin/ruby です。 ls コマンドなどでディレクトリを覗いてみると、インストールされたものが確認できるでしょう。

コンピュータにインストールされた全てのファイルは、以下のファイルに記録されています。

/usr/local/src/ruby-2.0.0-p353/.installed.list

もしインストールした Ruby をキレイに削除(アンインストール)したい場合は、この .installed.list ファイルに書かれているファイルを全て消せば良いです。
# make コマンドにアンインストールするオプションがあれば便利なのですがね・・・

後掃除

インストールが完了したことが確認できたら、不要であれば最初にダウンロードした tar.gz のソースコードは削除します。

# rm /usr/local/src/ruby-2.0.0-p353.tar.gz

なお、上記で述べたように /usr/local/src/ruby-2.0.0-p353 のフォルダの中には、インストールした際の記録が残されていますので、このソースコードフォルダは削除しない方が良いと考えます。

Ruby環境構築入門へ戻る

著者 : OSCA

OSCA

 初級WEBエンジニアです。最近は Android, iOS, WEBアプリの作成に力を入れています。 個人として何か一つでも世の中の多くの人に使ってもらえるアプリを作ろうと日々奮闘中です。