Dockerfile で構築した CentOS7 に Rails5.0 を入れる
最近 webpack などフロントまわりの情報収集をするなかで、やっぱり実際に簡単なウェブアプリを作って動きを見てみたいと思い、試しに Rails5.1・・・ではなく 5.0 環境を構築してみることにした。
---
私は Ruby まわりはほとんど触ったことがないので、フロントのことを意識しつつ、上記チュートリアルをガッツリやることにする(でも手順にある Cloud9 は使わないつもり)。
<作業の流れ>
さて、今回は先日用意した Dockerfile で作った CentOS7 を使い、インストール作業をしたいと思う。
---
1. CentOS7 で GitHub に SSH 接続できるようにする
今後 git clone をはじめ GitHub に接続する機会が頻繁に出てくるので、下記ドキュメントの通りに鍵の設定をしておく。
Generating an SSH key - User Documentation
---
2. rbenv、ruby-build、Ruby、Rails をインストールする
<rbenv>
まずは rbenv を下記ドキュメントの通りインストールする。これを入れることで Ruby のバージョン管理ができるようになる。
この時、CentOS7 で足りてなかったパッケージがあり、処理中断してしまった。そういうわけで以下を yum install して rbenv インストール再開、無事に完了した。
<ruby-build>
つづいて rbenv のプラグインである ruby-build をインストールする。これを入れることで rbenv で Ruby のインストール作業ができるようになる。
こちらは問題なく終了。
<Ruby>
ようやく Ruby のインストール。最新の安定版を入れる。なお Rails5.0 は Ruby2.2.2 以上が必要とのこと。
$ rbenv install 2.3.3
インストールに失敗した。
BUILD FAILED (CentOS Linux 7 using ruby-build 20161121-12-gffef606)
出力されたログファイルを見ると「bzip2 が無いよ!」って怒られていたので yum install する。
$ yum install -y bzip2
無事に入ったらインストール作業をやり直し。
また失敗した。今度は次のものが足りなかったもよう。
$ yum install -y openssl-devel readline-devel zlib-devel
ようやく Ruby2.3.3 を無事にゲットした。
$ rbenv versions
2.3.3
最後に利用するバージョンを global で指定して作業完了。
$ rbenv global 2.3.3
$ rbenv versions
* 2.3.3 (set by /root/.rbenv/version)
Ruby コマンドを叩いてみる。
$ ruby -v
何かが失敗している。
rbenv のドキュメントを読み直したところ、次の手順をすっ飛ばしていた。
$ ~/.rbenv/bin/rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:
eval "$(rbenv init -)"
というわけで .bash_prifle に書き込んで再確認。
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv rehash
$ ruby -v
やっと終わった!
<Rails>
Rails をインストールする際に使う gem が入っていることを確認。
$ gem -v
2.5.2
いざ、Rails5.0 をインストール。
$ gem install rails -v 5.0.0.1
$ rails -v
Rails 5.0.0.1
成功!
---
以上、特にドハマりするようなこともなく終えることができた。
CentOS 側で yum install しておかないといけないものが分かったので、rbenv を入れるところまでの Dockerfile を作っておいても良さそう。
それでは早速、チュートリアルに沿って勉強していってみようと思う。次回以降、またいろいろ気付いたことを書いていきたいと思う。