Capybara-webkit をインストールする際の注意
gitlab いれようとして「まずdevelopment・test・production それぞれ bundle 通す所から!」と思って作業してて、わりとはまってガチ切れしてしまったので備忘録として残しておきます、はい!
ちなみにロケ地は ScientificLinux6.3 ServersMan@VPS
On Linux platforms, capybara-webkit requires an X server to run, although it doesn't create any visible windows. Xvfb works fine for this. You can setup Xvfb yourself and set a DISPLAY variable, or try out the headless gem.
ずっとエラー内容でググってたせいで気付かなかったんだけど、github に上がってるドキュメント見てたらこんな記述あってまじギレしてしまいましたね。Qt ダウンロードしてくっそ長いコンパイルまでしちまったぞゴルァ!
何が原因かって、この「Linux で使うには X server が動いてる事が必要だよ!X server (GUI) を使いたくないなら Xvfb 使えよ!」ってことが、Installing Qt and compiling capybara webkit · thoughtbot/capybara-webkit Wiki · GitHub に書いてないのがやばい。
Bundle install - failed to build gem native extension · Issue #353 · thoughtbot/capybara-webkit · GitHub わりとcapybara-webkit のインストールで躓いたエラーでぐぐるとこのエントリ出てくるんだけど、ここも「インストールのページちゃんと見ろよ HEHE !!」って感じで、確かに GUI 使ってる人が殆どだろうし、手元で動かして動けばそりゃ気づかないよねっていう。
というわけで、
- 原因
GUI (X server)環境が無い
- 解決方法
X server のインストールもしくは、 Xvfb のインストール
Xvfb のインストール
GUI 用意しなおすのが簡単だけど、まあ既に動いてる環境で X server 追加せずに解決したい!ってパターンを考慮して今回は Xvfb のインストールを。
[root@localhost ~]# yum install xorg-x11-server-Xvfb
これでおk、CUI 環境でも capybara-webkit が使えるようになります。他にも X のエミュレート?できるのあるらしいけど動いたのでこれでいいや。
蛇足
gitlab 入れたい人は、こんなめんどうな事して入れなくても、
bundle install --without development test
ってすれば production 用 gem だけインストールされるから capybara-webkit 必要無いので解決します。