El Capitan 10.11 GM で Ruby on Rails の環境を作る


## Yosemite と違うところ
`rootless` が導入されたことによって、`/usr`, `/bin`, `/sbin` 下にインストールが必要なものがインストールできなくなってしまっています。 
ただし、`/usr/local` についてはアクセスすることができるので、こちらを利用したほうがいいでしょう。

Homebrewを利用する時に、何らかの理由で、`/usr/local`がなくなっている場合があります。
El Capitan から `/usr/local`を生成するのは面倒なので、El Capitanにアップデートする前に確認してみてください。 
HomebrewはEl Capitanへアップグレードする前に入れておく
http://qiita.com/riocampos/items/525ec4b35744ad586c5a
こちらの記事を参考にしてみてください。


※ Homebrew で gcc-4.2 をインストールすると `/usr/local/bin/gcc-4.2` にインストールされるのですが、linkするときに `/usr/bin/gcc-4.2` にないと怒られてしまいます。。。。
Mac Ports とか使えば問題ないとかなんとか。慣れているので、今回は、Homebrew でもできるようにしましょう.

どうにかこうにかして、 rootless を解除しない方法に変えました。

## 
一旦 rootless を解除する

GM になってから簡単に解除できなくなってしまったようです。
1. 電源ONから`Cmd + R`を押してリカバリモードにする。
2. Terminal を開いて、 `csrutil disable` を入力する。
3. 再起動する

## Xcode
```
sudo xcodebuild -license
```

これでライセンスの同意ができる




## Homebrew 
```
$ xcode-select --install
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew doctor
$ brew update
```

## rbenv

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

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
```

設定を読み込む

```
$ source ~/.zshrc
```

oepnssl をインストールしないと、rbenv環境で `bundle install` が動かないよう
http://d.hatena.ne.jp/CortYuming/20120618/p1


```
$ brew install openssl
```

readline もらしいので、入れる

```
$ brew install readline
```

openssl と　readline のパスを渡しながら、ruby 2.1.2 をインストール

```
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.1.2 #
```

と思いきや、ここら辺で gcc4.2 がないとかでエラーが出るので、

gcc4.2 をインストール

```
$ brew tap homebrew/dupes
$ brew install apple-gcc42
$ export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2
$ export CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2
$ export CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2
```

`$ sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2`をしなくてもよさそう。
via. <a href="http://qiita.com/yakiimo23/items/eaf48164821897e3dde9">elcapitan - El Capitan libv8がインストール出来ない - Qiita</a>


これで Ruby がインストールできるはず。


Ruby のバージョンを確認 する

```
$ rbenv versions
```

システム全体の Ruby のバージョンを変更する

```
$ rbenv global 2.1.2
```

## Bundler のインストール
Rails の　gem を　bundler で管理したいので、インストールする。

```
$ rbenv exec gem install bundler
$ rbenv rehash
```

## Rails Applicationのフォルダに移動して、`bundle install`する

```
$ bundle install
```

ここでまた問題が。

## libv8 と therubyracer がエラーを吐く
libv8 がまだ Yousemite (darwin-14) らしく、ここでエラーが起きるので、darwin-15を入れてみます。

https://github.com/cowboyd/therubyracer/issues/359

```
$ gem install libv8-3.16.14.11-x86_64-darwin-15.gem
$ gem install therubyracer
```

これで libv8 と therubyracer はインストールできるはず。

これで、bundle install をもう一度すると、アプリケーションが立ち上がるはず。

```
bx rails s
```

やったね！

と思いきや第２シリーズ。homebrew で入れた mysql が動かない。
ちょっと諦めで、installerでインストールしちゃいました。

ちなみに、`mysql.server start`すると、
```
Starting MySQL....... ERROR! The server quit without updating PID file (/var/lib/mysql/xxxxxx.pid).
```
と出てしまって、ちょっと解決できなかった。



## 念のため rootless は戻しておきましょう
```
csrutil enable
```



## El Capitan のいいところ・悪いところ

### いいところ
- 新しいOS使ってる感
- Mission Control がめっちゃはやい
- Photoshop CC 2015, Illustrator CC 2015, InDesign CC 2015,Sketch 3使える
- 文字入力スゴイ

### 悪いところ
- Finder がめっちゃ重い。応答なしになることが多い
- Chrome も重い。裏で動いてるGoogle Drive 消したら比較的軽くなった
- 画面分割はそこまで便利じゃない。Better Touch Tools でやればOKと思うけど、Mac のシステムとジェスチャーが競合してすごく使いづらい