CentOS 7にrubyのインストール

環境が整ってきたので、ここいらでrubyのインストールをしてみたいと思います。

rubyのインストールや管理にはrbenvが便利とのことなので、これを使ってrubyのインストールを行います。

まずはrbenvのインストール。GitHubからcloneしてきます。

[root@sakura ~]# git clone https://github.com/rbenv/rbenv.git /usr/local/.rbenv
Cloning into '/usr/local/.rbenv'...
remote: Counting objects: 2714, done.
remote: Total 2714 (delta 0), reused 0 (delta 0), pack-reused 2714
Receiving objects: 100% (2714/2714), 506.25 KiB | 713.00 KiB/s, done.
Resolving deltas: 100% (1700/1700), done.
[root@sakura ~]#

続いて以下のコマンド。

[root@sakura ~]# cd /usr/local/.rbenv && src/configure && make -C src
make: ディレクトリ `/usr/local/.rbenv/src' に入ります
gcc -fPIC     -c -o realpath.o realpath.c
gcc -shared -Wl,-soname,../libexec/rbenv-realpath.dylib  -o ../libexec/rbenv-realpath.dylib realpath.o
make: ディレクトリ `/usr/local/.rbenv/src' から出ます
[root@sakura .rbenv]#

rbenvとその関連ツールを利用できるように、パスを通しておきたいので./bash_profileに追加します。

[root@sakura .rbenv]# echo 'export RBENV_HOME="/usr/local/.rbenv"' >> ~/.bash_profile
[root@sakura .rbenv]# echo 'export PATH="$RBENV_HOME/bin:$PATH"' >> ~/.bash_profile
[root@sakura .rbenv]# echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
[root@sakura .rbenv]# source ~/.bash_profile
[root@sakura .rbenv]#

ruby-buildコマンドを追加します。こちらもGitHubからのクローンを行います。

[root@sakura ~]# git clone git://github.com/sstephenson/ruby-build.git $RBENV_HOME/plugins/ruby-build
Cloning into '/usr/local/.rbenv/plugins/ruby-build'...
remote: Counting objects: 8557, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 8557 (delta 2), reused 0 (delta 0), pack-reused 8553
Receiving objects: 100% (8557/8557), 1.79 MiB | 2.04 MiB/s, done.
Resolving deltas: 100% (5452/5452), done.
[root@sakura ~]#

rbenv install -l でインストール可能なrubyのバージョンのリストが表示されますが、エラーになることもあるようです。

[root@localhost .rbenv]# rbenv install -l
rbenv: no such command `install'
[root@sakura .rbenv]#

以下のコマンドで対処します。

[root@sakura .rbenv]# rbenv install -l
rbenv: no such command `install'
[root@sakura .rbenv]#

もう一度 rbenv install –lで確認してみます。

[root@sakura ~]# rbenv install -l
Available versions:
  1.8.5-p52
  1.8.5-p113
    :
  (中略)
    :
  2.4.0
  2.4.1
  2.4.2
  2.4.3
  2.5.0-dev
  2.5.0-preview1
  2.5.0-rc1
  2.5.0
  2.6.0-dev
  2.6.0-preview1
    :
  (中略)
    :
  jruby-1.5.6
  jruby-1.6.3
  rbx-3.89
  ree-1.8.7-2011.03
  ree-1.8.7-2011.12
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev
[root@sakura ~]#

インストールは以下の要領で。

[root@sakura ~]# rbenv install 2.5.0
Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...

BUILD FAILED (CentOS Linux 7 using ruby-build 20180224)

Inspect or clean up the working tree at /tmp/ruby-build.20180327035039.1828
Results logged to /tmp/ruby-build.20180327035039.1828.log

Last 10 log lines:
The Ruby openssl extension was not compiled.
The Ruby readline extension was not compiled.
The Ruby zlib extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `yum install -y openssl-devel readline-devel zlib-devel` to fetch missing dependencies.

Configure options used:
  --prefix=/root/.rbenv/versions/2.5.0
  LDFLAGS=-L/root/.rbenv/versions/2.5.0/lib
  CPPFLAGS=-I/root/.rbenv/versions/2.5.0/include
[root@sakura ~]#

モジュールが足りないと怒られてしまいました。(*´ω`*)

yumから足らないモジュールをインストールしてちょ、というメッセージに従います。それが終わったら、もう一度インストールを再実行。

[root@sakura ~]# rbenv install 2.5.0
Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...
Installed ruby-2.5.0 to /root/.rbenv/versions/2.5.0

[root@localhost ~]#

今度は無事にインストールできました。ついでに1つ前のバージョン、2.4.3をインストールしておきます。

システムが使うrubyをrbenv global [バージョン番号]で、ローカルが使うrubyをrbenv local [バージョン番号]で登録します。

[root@sakura ~]# rbenv global 2.5.0
[root@sakura ~]#
[root@sakura ~]# rbenv global
2.5.0
[root@sakura ~]#
[root@sakura ~]# rbenv local 2.4.3
[root@sakura ~]#
[root@sakura ~]# rbenv local
2.4.3
[root@sakura ~]#
[root@sakura ~]# rbenv global
2.5.0
[root@sakura ~]#

確認してみます。

[root@sakura ~]# ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]
[root@sakura ~]#

とりあえずrubyのインストールが完了しました。

コメントを残す

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

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