一般ユーザでのrails環境構築について

# 動機 #
railsを勉強してみたい。でも、(インストール済みのシステムのgemのバージョンを変えるなどの)システム構成への負荷は避けたい。

# 解 #
[rbenv](https://github.com/sstephenson/rbenv)や[rvm](https://rvm.io/)なるものがある。<br/>rbenvやrvmは、一般ユーザ権限でホームディレクトリ配下にrubyを含めたrailsの環境を構築するツールである。そして、構築できるrails環境はrubyの1つのバージョンに留まらず、複数のバージョンを用意できることも、rbenvやrvmの魅力の1つとなっている。

rbenvやrvmによるrailsの環境構築は、すでの多くのサイトで紹介されている。ただし、それらのサイトでは、gitや、curlの実行が必須なものが多い。

ここでは、少し赴きを変えて、Ubuntuのパッケージで提供されているrbenvを使用したrails環境の構築方法を紹介する。

# 手順 #

## rbenvの設定 ##

1. aptでのrbenvのインストール

	rbenv経由でrubyをインストールするには、rbenvのinstallコマンドを提供するruby-buildが必須。<br/>また、railsの実行には、javascriptの実行エンジンが必要。<br/>そこで、ruby-build, nodejsも一緒にインストールする。
		
		$ sudo apt-get update
		$ sudo apt-get install rbenv ruby-build nodejs

	実行例:<br/>![apt-get.png](https://qiita-image-store.s3.amazonaws.com/0/59920/cb8690e9-8916-a873-3f7f-49f51b71b078.png)

2. ~/.bashrcを編集

	rbenvのオンライン・マニュアル(man rbenv)を参考に、bashのインターラクティブ時に読み込まれるファイルを編集する。

		$ cd
		$ rbenv init
		$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

	実行例:<br/>![bashrc.png](https://qiita-image-store.s3.amazonaws.com/0/59920/6861dbb8-4469-e6b5-e713-37049a7a6454.png)
	
3. ~/.bashrcの変更の有効化

	上記の編集内容を、現在操作しているターミナルに反映する。
	また、その実行結果は、rbenv関数が定義されているとで確認する。

		$ cd
		$ exec $SHELL
		$ declare -f rbenv

	あるいは、新しいターミナルを起動して、"declare -f rbenv"のみ実行して、反映されていることを確認する。
	
	実行例:<br/>![check_bashrc.png](https://qiita-image-store.s3.amazonaws.com/0/59920/6aa4c4cb-e1df-8b67-6c3f-0c51b72bd097.png)

以上で、rbenvの環境設定は終了である。

## 一般ユーザでのrails環境構築 ##

1. ローカルのrubyのインストール

	まず、install可能なrubyのバージョンの一覧を表示する。

		$ cd
		$ rbenv install -l

	実行例:<br/>![rbenv_install.png](https://qiita-image-store.s3.amazonaws.com/0/59920/5c2f81c2-1b19-77c6-ed11-b4de82d306e2.png)

	次に、"rbenv install"コマンドを使って、rubyをインストールする。

		$ cd
		$ rbenv install *インストールしたいrubyのバージョン*

	実行例:ここでは、2.1.1を選択<br/>![install_ruby.png](https://qiita-image-store.s3.amazonaws.com/0/59920/015ecc25-b6cd-0935-e721-6c6f365d8195.png)

2. インストールしたrubyの有効化

	まず、ローカルにインストールされているrubyを"rbenv versions"コマンドで確認する。<br/>出力結果の1カラム目に、"*"がマークされているものが、現在有効となっているrubyを示す。<br/>なお、3カラム目以降に、"system"と表示されているrubyは、システムのパッケージとしてインストールされている/usr/bin/rubyを指す。

		$ rbenv versions

	次に、"rbenv global"コマンドを使って、上記でインストールしたrubyを有効にする。

		$ rbenv global *有効にしたいrubyのバージョン*

	実行例:<br/>![change_ruby.png](https://qiita-image-store.s3.amazonaws.com/0/59920/04df6cd9-74c1-6d42-59df-d3bb6da446c2.png)
	
3. rdocの生成抑止

	gemのインストール時に、ドキュメントのri, rdocを生成すると、インストール時間は極端に長くなる。<br/>	ドキュメントは開発に必要ではあるが、オンラインで提供されていることから、ここでは、ri, rdocの生成を止める([Ruby on Railsチュートリアル](http://railstutorial.jp/chapters/beginning?version=4.0#sec-install_rubygems)でも、「ほとんどのプログラマーはネイティブのriやrdocなど参照せず、さっさとオンラインドキュメントを見に行ってしまいます。」と述べているくらいだ)。

		$ echo "install: --no-rdoc --no-ri" >> ~/.gemrc
		$ echo "update: --no-rdoc --no-ri" >> ~/.gemrc
	
4. railsのインストール

	最後に、railsをインストールする。<br/>インストール方法は、以下の2点を除けば、通常のrailsのインストールとなんら変わらない。

	a. インストールが一般ユーザで実行できること
	b. インストール先が実行ユーザのホームディレクトリ内であること(~/.rbenv配下)

	実際の、railsのインストールは、gemコマンドを使用する。

		$ gem install rails

	実行例:<br/>![install_rails.png](https://qiita-image-store.s3.amazonaws.com/0/59920/91954dda-e166-dbbc-7249-cadbbd69a5e1.png)

## rails環境の動作確認 ##
では、上記でインストールしたrailsが実際に動作するか、確認する。

1. railsサンプルアプリの作成

	railsコマンドを使って、サンプルアプリを作成する。

		$ cd
		$ rails new *サンプルアプリ名*
		
	実行例:~/Documents/railsディレクトリに、sample_appを作成<br/>![create_rails.png](https://qiita-image-store.s3.amazonaws.com/0/59920/e0670546-6098-ea92-18d7-3e44ba49025c.png)
	
2. railsサンプルアプリの動作確認

	サーバを起動して、webブラウザからアクセスすることで、railsサンプルアプリが動作していることを確認する。

	まず、ターミナルから、railsサンプルアプリを起動する。

		$ cd *railsサンプルアプリ名*
		$ rails server

	実行例:<br/>![rails_server.png](https://qiita-image-store.s3.amazonaws.com/0/59920/cf53ad1e-83bc-1422-1bb4-67ac05099665.png)

	次に、webブラウザから、"http://localhost:3000" にアクセスして、railsの画面が表示されることを確認する。

	実行例:<br/>![rails_client.png](https://qiita-image-store.s3.amazonaws.com/0/59920/ecafe2bd-8662-45f7-60ea-99324c17d8e8.png)

以上で、一般ユーザでのrails環境構築は完了である。