『小学生でもわかるRuby on Rails入門』で初学者が躓いたことメモ〜前編〜

#こちらの記事について
超初学者が、[『小学生でもわかるRuby on Rails入門』](https://openbook4.me/projects/92/)
を使用して、初めてRuby on Railsを動かしてみたときに、躓いたり調べたりしたことの備忘録です。OSはmac OSX Yosemite、Ｒｕｂｙのバージョンは2.2.2です。

備忘録として、躓いた順に書いていますが、要はこの教材のRubyのバージョンを把握し、きちんと環境を整えてから挑むべきであったと反省しています。初学者の方がこの記事をご覧でしたら、まずは下記参照記事などをご覧になって環境構築してから挑むことをお勧めします。
参照記事↓
[『初心者必見！Ruby開発環境構築おすすめの方法【Mac/Windows別】』](http://www.sejuku.net/blog/3958)

##権限がない
[『第1章 Ruby on Railsをはじめよう』](https://openbook4.me/projects/92/sections/485)で早速エラーが発生。

```ruby:ターミナル
gem install rails
```

```ruby:エラー内容
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
```

こちらのディレクトリを書き換える権限が無いよ、ということのようです。シンプルにこちらで回避しました。

```　ruby:ターミナル
sudo gem install rubygems-update
```

参照記事↓
[『MacでRuby on Railsを使うおさらい-RubyGemsのアップデート-』](https://ameblo.jp/siroikinoko/entry-11059282205.html)

##Homebrewをインストールする
[『第3章 実際にRailsアプリを作ってみる』](https://openbook4.me/projects/92/sections/488)で mitakalab-twitter をインストールしようとするとエラーが発生しました。

```ruby:ターミナル
rails new mitakalab-twitter
```

```ruby:エラー内容
Rails is not currently installed on this system. To get the latest version, simply type:
    $ sudo gem install rails
You can then rerun your "rails" command. 
```

そこで言われたとおりに素直に入力すると、パスワードの入力を求められたのちに

```ruby:ターミナル
sudo gem install rails
```

こう怒られました

```ruby:エラー内容
ERROR:  Error installing rails:
	activesupport requires Ruby version >= 2.2.2.
```

Ｒｕｂｙのバージョンが2.2.2でないとだめだったんですね。
そもそも、MacにはもともとRubyがインストールされているからそのままでOKなのではなく、複数のRubyを切り替えれる環境を構築する必要があったんですね…。

というわけで気を撮り直して、Macにhomebrewを

**ruby-buildをインストール**

```ruby:ターミナル
brew update
brew install rbenv ruby-build
```

インストールに時間がかかるし、🍺とか出てきちゃって変なものがダウンロードされているんじゃ無いかと心配になりました。

**rbenvの初期化スクリプトを.bash_profileへ追加**

```ruby:ターミナル
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
```

**ちゃんと動いているか確認**

```ruby:ターミナル
rbenv -v
```

参照記事↓
[『初心者必見！Ruby開発環境構築おすすめの方法【Mac/Windows別】』](https://www.sejuku.net/blog/3958)
[『homebrewとは何者か。仕組みについて調べてみた』](http://qiita.com/omega999/items/6f65217b81ad3fffe7e6)

##Rubyのバージョンを合わせる（homebrew）
**インストールされているRubyのバージョンを確認する**

```ruby:ターミナル
rbenv versions
```

アスタリスクが付いている行が現在のバージョンです。使用したいバージョンがあればバージョンの変更を、なければインストールをします。

**指定したいバージョンをインストールする**

```ruby:ターミナル
rbenv install 2.2.2
```

**指定のバージョンに変更する**

```ruby:ターミナル
rbenv global 2.2.2
```

##bundlerをインストール
ようやっとrubyのバージョンを変更できるところまでたどりつきましたが、いざmitakalab-twitter をインストールしようとするとまた同じエラーが発生しました。

```ruby:ターミナル
rails new mitakalab-twitter
```

```ruby:エラー内容
Rails is not currently installed on this system. To get the latest version, simply type:
    $ sudo gem install rails
You can then rerun your "rails" command. 
```

homebrewでRubyのバージョンを変更してもgemでは変更できない…。RubyGemはRubyソフトウェアライブラリを管理するシステムで、macには元々Rubyとそれに不足したGemが入っているため、Gemを管理するためのシステムを入れる必要がありました。それがbundlerです。

**bundlerをインストールする**

```ruby:ターミナル
gem install bundler
```

**rbenvでrehashする**

```ruby:ターミナル
rbenv rehash
bundler -v
```

**bundlerの設定ファイルを作成する**

```ruby:ターミナル
bundler init
```

**bundlerの設定ファイルを編集する**

```ruby:Gemfile
source "https://rubygems.org"
gem 'rails', '2.2.2'
gem 'cocoapods' , '0.39.0'　
```
※ここでrailsのバージョンを指定のものに変更しておく

**gemに指定のバージョンをインストールする**

```ruby:ターミナル
sudo gem install activesupport -v 2.2.2
```
これ、順番としては真っ先にしておくべきことでした汗

参照記事↓
[『RubyGems』](https://en.wikipedia.org/wiki/RubyGems)
[『rbenv rehashは何をやっているのか？』](http://dqn.sakusakutto.jp/2014/02/rbenv_rehash_what_it_does.html)
[『MacにHomeBrew,rbenv,bundlerをインストールする』](http://qiita.com/shinkuFencer/items/3679cfd966f6a61ccd1b)


これでやっとアプリケーションを生成することができました。
finderから移動する場合はこちら↓
`~/mitakalab-twitter/`

[→後編はこちら](http://qiita.com/Chinatsu_K/private/bfabde31b38d61a6c9b5)