【環境構築】CentOS7にRuby+Railsをインストールする(rbenv使用)
前回VagrantとVirtualBoxを使用した仮想環境が完成したので、
この環境にrubyとrailsを入れていきます。
色々とインストールしたいのでroot権限で行います。
sudo su #root権限へ
yum update #インストール済パッケージで更新できるものを更新する
一通りupdateしておきます。
yum install rubyだと2.0.0という少々古いバージョンしかinstallできなかったので
今回はrbenvというrubyのバージョン管理ツールを使用します。
rbenvを使用するため、必要なgitを先にインストールします。
yum -y install git
gitがインストールできたら、rbenvをcloneして
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
rbenvのプラグイン「ruby-build」もcloneします。
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv単体ではrubyをinstallできません、このプラグインが必要です。
rbenvの公式ドキュメントにも記載がありますが、
rbenv用に以下2行を書きかえ、書き換えた.bash_profileを読み直します。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
これでインストールできるようになったはずです。
インストールできるrubyのバージョンを確認します。
rbenv install --list
いっぱい出てきたら自分の欲しいバージョン名を指定します。
rbenv install -v 2.3.1 #バージョン指定はお好みで変えてください
これで問題ないくinstallできればOKです。
(少し時間がかかりますが、Complete!と出てくるはずです)
もし何か足りないというエラーが出てきたら、
足りないものをyum installして、再度上記コマンドをお試しください。
yum install -y openssl-devel readline-devel zlib-devel #一例です
ここまでできれば、バージョンを確認します。
自分がinstallしたrubyのバージョンが記載されて入ればOKです。
もしバージョンが指定したものになっていない場合は、
rbenv global 2.3.1 #自分の使用したいバージョンを記載
rbenvを使用して、切り替えてください。
OSごとバージョンの切り替えをして問題がなければglobal、
今いる位置限定の場合は globalの箇所をlocalへ変更ください。
Rubyがinstallできたので、最後にRailsもバージョン指定でinstallします。
gem install rails --version="4.2.1" #""内にバージョンを記載
ここまで出てきた単語と関連ある単語を初心者が簡単に整理してみます。
- yum ( 第6章 Yum )
…OSへのソフトウェアの導入と削除、管理などを行うパッケージ管理ツール
LinuxのRedHat系には基本的に搭載されています。 - git ( Git )
...ソースコードのバージョン管理ツールです。 - rbenv ( GitHub - rbenv/rbenv: Groom your app’s Ruby environment )
...rubyのバージョン管理ツール。バージョンの切り替えなどが可能です。
例えばruby2.0.0→2.3.1など。 - ruby-build ( GitHub - rbenv/ruby-build: Compile and install Ruby )
...rbenvを使ってrubyをinstallするためのプラグインです。 - gem ( RubyGems.org | your community gem host )
...rubyのgem形式のライブラリを管理するパッケージ管理システム。
Rubyをinstallすれば標準で搭載しています。
例えばrailsなど、便利なライブラリが沢山あります。 - bundler ( Bundler: The best way to manage a Ruby application's gems )
...gemの1つ。アプリケーションに必要となるGemパッケージの種類やバージョンを管理する。Gemfileを通してbundle installすればたくさんの依存関係を持つgemをうまいこと必要な分だけintstallしてくれるそうです。