テストの自動ツール導入時にcapybara-webkitでエラーが起きたのでその対処

## はじめに
テストの自動化する際にGemfileを変更して、bundle updateした時、capybara-webkitでエラーになり、つまったのでメモします。
※やりながら書いたので全然まとまってません。

## qmakeコマンドがない
### 出たエラーは？
もともとcapybara自体は入っていたので、``` bundle update ```。
そしたら、

```
gem install capybara-webkit -v '1.11.1'
```

をインストールする時に```qmake```ってコマンドがなくてエラーに。。。

```
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
...
...
Command 'qmake ' not available

extconf failed, exit code 1

Gem files will remain installed in /Users/...gems/capybara-webkit-1.11.1 for inspection.
Results logged to /Users/.../capybara-webkit-1.11.1/gem_make.out
An error occurred while installing capybara-webkit (1.11.1), and Bundler cannot continue.
Make sure that `gem install capybara-webkit -v '1.11.1'` succeeds before bundling.

```

### qmakeをインストールする
調べてみると、[この記事](http://tagamidaiki.com/capybara-webkit-qmake/)で以下のようなコマンドをしたらできるとの事。

```
brew update
brew install qt55
```

※私はElCapitanを使っているので、[このページを参考](https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit)に```qt55```というバージョンをインストールすることにした。


### brew updateができない！！
```brew update```するとこんなエラーが・・・
```brew doctor```をやっても同じエラーなので、homebrewが使えなくなってる。。。

```
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mach (LoadError)
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Library/Homebrew/global.rb:3:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Library/brew.rb:15:in `<main>'
```


### homebrewを復活させる
原因は[ここ](https://gotohayato.com/content/69)に書かれていますが、ElCapitanにアップデートしたことで、セキュリティー周りの設定が変わり、```/usr/local```の下がうまく動作しなかったようです。

なので、書かれている通りのコマンドを実行してみます。

```
cd $(brew --prefix) 
git fetch 
git reset --hard origin/master

brew update
```

でも、まだ怒られる・・・
調べてみるとrootユーザ担ってしまっているのがいけないようです。
以下のコマンドで、adminユーザに変更。
[こっちの記事](http://qiita.com/nomadmonad/items/7c15ccd1f7418fc0ecdd)をみるとちゃんと書いてありますね。

```
sudo chown -R $(whoami):admin /usr/local
```

以下のコマンドで```admin```ユーザになっている事を確認する。
```
ls -ld /usr/local
```


### 再度、qmakeをインストールするぞ!!

```
brew tap homebrew/versions
brew install qt55
```

すると・・・

```
==> Installing qt55 from homebrew/versions
==> Downloading https://homebrew.bintray.com/bottles-versions/qt55-5.5.1.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring qt55-5.5.1.el_capitan.bottle.tar.gz
==> Caveats
...
==> Summary
🍺  /usr/local/Cellar/qt55/5.5.1: 7,246 files, 329.6M
```

インストールできましたね。

でもこのままだと使えないらしく、以下を実行しておきます。
これをすることによって、```qmake```ってコマンドを実行すると、インストールしたqt55のプログラムを実行してくれるようになるんだと思っている。。（ちゃんと調べてないからあってないかも）

```
brew link --force qt55
```


## capybara-webkitを再度インストール

実行したいGemfileがあるディレクトリに戻ってから、以下を実行。

```
gem install capybara-webkit -v '1.11.1'
```

無事できました〜！

```
Building native extensions.  This could take a while...
Successfully installed capybara-webkit-1.11.1
1 gem installed
```

## まとめ
OSのアップデートが原因だとはおもわず、時間がかかりましたが、開発環境そろえる知識が少ないため、すごいペン今日になりました。
ちなみに、qmakeとはクロスプラットフォーム向けのフレームワークの1つ。
クロスプラットフォームというのは、仕様が違う機械やOS上で、同じ仕様のものを動かせるプログラムのことをいうそうです([Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0)より)。