[CentOS] Ruby 2.2.3 をソースコードをダウンロードしてインストールする。

yum で Ruby をインストールしたら古いバージョンの Ruby がインストールされてしまったので最新版をインストールするためにソースコードをダウンロードします。

wget コマンドを使用します。まずは –spider オプションをつけてダウンロードしたいファイル(Ruby のソースコード)が存在しているかどうかを確認します。

$ cd /usr/local/src
$ wget http://ftp.ruby-lang.org/pub/ruby/ruby-2.2.3.tar.gz –spider
スパイダーモードが有効です。リモートファイルが存在してるか確認します。
–2015-10-10 19:38:03– http://ftp.ruby-lang.org/pub/ruby/ruby-2.2.3.tar.gz
ftp.ruby-lang.org をDNSに問いあわせています… 221.186.184.75
ftp.ruby-lang.org|221.186.184.75|:80 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 16626772 (16M) [application/octet-stream]
リモートファイルが存在します。
$

/usr/local/src ディレクトリにダウンロードします。

$ sudo wget http://ftp.ruby-lang.org/pub/ruby/ruby-2.2.3.tar.gz
[sudo] password for keramax:
–2015-10-10 19:42:13– http://ftp.ruby-lang.org/pub/ruby/ruby-2.2.3.tar.gz
ftp.ruby-lang.org をDNSに問いあわせています… 221.186.184.75
ftp.ruby-lang.org|221.186.184.75|:80 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 16626772 (16M) [application/octet-stream]
`ruby-2.2.3.tar.gz’ に保存中100%[====================================================================================================>] 16,626,772 1.08M/s 時間 16s
2015-10-10 19:42:29 (1.01 MB/s) – `ruby-2.2.3.tar.gz’ へ保存完了 [16626772/16626772]
$ ls -l ruby*
-rw-r–r–. 1 root root 16626772 8月 19 00:12 2015 ruby-2.2.3.tar.gz
$

ダウロードしたら tar zxf で解凍して展開します。

$ sudo tar zxf ruby-2.2.3.tar.gz
$ ls -ld ruby*
drwxr-xr-x. 25 1044 1044 4096 8月 18 23:05 2015 ruby-2.2.3
-rw-r–r–. 1 root root 16626772 8月 19 00:12 2015 ruby-2.2.3.tar.gz
$

インストール方法を確認するために README ファイルを読んでみます。

$ cd ruby-2.2.3
$ more README.ja.md

README.ja.md の中に「コンパイル・インストール」について書かれている箇所があるのでそこを参考に下記を実行します。

まず su コマンドで root になってから、

# ./configure

# make

# make install

の順に実行します。

# which ruby
/usr/local/bin/ruby
# ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [i686-linux]
#

Ruby 2.2.3 のインストールができました。

make check でエラーが出たが無視してインストールした

make install を実行する前に make check を行いましたがエラーで終了しました。

————————————————————
/usr/local/src/ruby-2.2.3/lib/rubygems/test_case.rb:1367:in `load_cert’: uninitialized constant Gem::TestCase::OpenSSL (NameError)
from /usr/local/src/ruby-2.2.3/test/rubygems/test_gem_request.rb:9:in `’
from /usr/local/src/ruby-2.2.3/test/rubygems/test_gem_request.rb:6:in `’
from /usr/local/src/ruby-2.2.3/lib/rubygems/core_ext/kernel_require.rb:54:in `require’
from /usr/local/src/ruby-2.2.3/lib/rubygems/core_ext/kernel_require.rb:54:in `require’
from /usr/local/src/ruby-2.2.3/test/lib/test/unit.rb:258:in `block in non_options’
from /usr/local/src/ruby-2.2.3/test/lib/test/unit.rb:252:in `each’
from /usr/local/src/ruby-2.2.3/test/lib/test/unit.rb:252:in `non_options’
from /usr/local/src/ruby-2.2.3/test/lib/test/unit.rb:63:in `process_args’
from /usr/local/src/ruby-2.2.3/test/lib/test/unit.rb:852:in `process_args’
from /usr/local/src/ruby-2.2.3/test/lib/test/unit.rb:857:in `run’
from /usr/local/src/ruby-2.2.3/test/lib/test/unit.rb:864:in `run’
from ./test/runner.rb:40:in `’
make: *** [yes-test-all] エラー 1
————————————————————
上記がエラーと思われる箇所です。 make check コマンドの最後の出力の部分でもあります。

無視して大丈夫じゃないか(?)と思ったので、無視して make install を実行しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください