てくてくテック☆

千里の道も一歩から。テック(Tech)の道をてくてく歩く。

Vagrant と VirtualBox 作ったローカル環境に Ruby をインストールする

以下の「Vagrant と VirtualBox で自由に汚せるローカル環境を構築する」の続きです。

teku2tech.hateblo.jp   

VagrantVirtualBox で構築したローカル環境に rbenv で Ruby をインストールしたいと思います。
なので、以下の作業は対象の環境で vagrant up と vagrant ssh をした後からの手順になります。
 

Git のインストール

rbenv をインストールするのに Git が必要なので、以下のコマンドを実行して、Git をインストールします。

$ sudo yum install git

 

rbenv のインストール

以下のコマンドを実行して、rbenv をインストールします。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

 

.bash_profile の追加

rbenv のインストールができたら、以下のとおり、パスを通しておきます。
(ついでに、シェルの起動時に rbenv を初期化されるようにして、設定ファイルの読み込み直しとシェルの再起動も行っています)

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bashrc
$ exec $SHELL -l

パスが通っているかを確認するために、以下のコマンドを実行します。
(rbenv のバージョンを確認するためのコマンドです)

$ rbenv -v
rbenv 1.1.1-6-g2d7cefe

rbenv のバージョンが表示されれば OK!
 

ruby-build のインストール

以下のコマンドを実行して、rbnev のプラグインである ruby-build をインストールします。
(インストールすると ruby install コマンドが使えるようになります)

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

さらに、ruby-build を使うにあたり、推奨されているツール類もインストールしておきます。

$ sudo yum install -y gcc-6 bzip2 openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel

※ 詳細はこちらを参照 → https://github.com/rbenv/ruby-build/wiki
 

Ruby のインストール仮想マシンの起動

以下のコマンドで、Ruby をインストールします。

$ rbenv install 2.3.1

インストール可能な ruby のバージョンは以下のコマンドで確認できます。

$ rbenv install -l

 

Ruby のインストールで BUILD FAILED になったら。。

Ruby のインストールで以下のようなエラーが出た場合は、ログファイルを確認します。

$ rbenv install 2.3.1
Downloading ruby-2.3.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2
error: failed to download ruby-2.3.1.tar.bz2

BUILD FAILED (CentOS release 6.5 (Final) using ruby-build 20170914-5-gf41e847)

ログファイルを確認してみると

$ cat /tmp/ruby-build.20171028150413.2435.log 
/tmp/ruby-build.20171028150413.2435 ~/ruby_lessons
curl: (35) SSL connect error

curl でこけてることが判明。。orz

調べてみると、リポジトリから提供されている curl(libcurl) のバージョンが古いことが原因のよう。
ソースからインストールする方法もありますが、大変なので別のリポジトリを追加して、そこから curl をアップデートします。

$ sudo rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
$ sudo yum update --enablerepo=city-fan.org libcurl

※ 追加したリポジトリはこちら → http://www.city-fan.org/ftp/contrib/yum-repo/

curl をアップデートしたら、Ruby をインストールしてもエラーが出ないようになりました!

 

Ruby のバージョン指定

Ruby がインストールできたら、以下のコマンドで システム全体に適用したいバージョンを設定します。

$ rbenv global 2.3.1

バージョンが設定できているかを確認するために、以下のコマンドを実行します。
(* がついているのが、システム全体に適用されている Ruby のバージョンです)

$ rbenv versions
* 2.3.1 (set by /home/vagrant/.rbenv/version)

 

無事に Ruby がインストールできたので、まずはドットインストールの Ruby 入門 あたりをやってみようと思いますー