人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

capybara-webkit がインストール出来ない

もうかれこれ1ヶ月近く悩んでます。
どうすればcapybara-webkitがインストール出来るでしょうか?
状況はこんな感じです。

1. `rails new` で新規プロジェクト作成
2. Gemfileに `capybara` と `capybara-webkit` を追加
3. `bundle install` を実行
4. 次のエラーが発生

>||
# --- 省略 ---
stable.h:23:23: error: QWebElement: No such file or directory
stable.h:24:24: error: QWebSettings: No such file or directory
stable.h:34:20: error: QtWebKit: No such file or directory
make[1]: *** [build/webkit_server.gch/c++] Error 1
make[1]: Leaving directory `/home/vagrant/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.3.1/src'
make: *** [sub-src-webkit_server-pro-make_default-ordered] Error 2

make failed, exit code 2
# --- 省略 ---
||<

**環境

| *項目 | *バージョン |
| OS | CentOS 6.5 |
| Ruby | ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux] |
| Rails | 4.1.0 |
| xml2-config | 2.7.6 |
| xslt-config | 1.1.26 |
| QMake | QMake version 2.01a |
| Qt | Using Qt version 4.8.6 |

Qtはこちらのページの手順でインストールしています。

Installing Qt and compiling capybara webkit ? thoughtbot/capybara-webkit Wiki
https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit

●質問者: yamagh
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● syamaoka
ベストアンサー

質問者の方と同じ環境を VM で作って試してみたら再現し、解決しました。
結論だけ先に申し上げると、capybara-webkit の CentOS 6.5 向けのビルド手順が間違っています(最小構成で作られた環境が考慮されていない?)。以下の手順で Qt をビルドしてみてください。

# yum install コマンドが分かれているのは特に意味はありません。
sudo yum install libxcb libxcb-devel xcb-util xcb-util-devel
sudo yum install flex bison gperf libicu-devel libxslt-devel ruby
sudo yum install libXrender-devel

# ここからは qt のソースのルートディレクトリで実行します。
./configure -opensource -nomake examples -nomake tests
sudo gmake -j4 # -j オプションは、PC のコア数と同じ数値に調整してください
sudo gmake install

一応、なぜこの手順が正しいのかについて説明すると、ソースからビルドする場合に qwebkit を有効にするには依存ライブラリがインストールされていることが必要だからです。依存ライブラリが足りない場合は qwebkit のビルドが自動的にオフになるようで、configure のログをよく見ると警告が表示されていますが、分かりづらすぎるため普通は気が付かないと思います。私は configure のログを注視する習慣があるのと質問にあったエラーログから qwebkit がそもそもインストールされていないのではないかとあたりがついていたので、たまたま気が付きました。
ビルド方法の詳細が知りたければ、http://qt-project.org/wiki/Building_Qt_5_from_Git を参照してください。こちらは Qt5 用のドキュメントですが、Qt4 でも通用しました。

再現させた環境は以下のとおりです。

[vagrant@vagrant-centos65 app]$ uname -a
Linux vagrant-centos65.vagrantup.com 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[vagrant@vagrant-centos65 app]$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
[vagrant@vagrant-centos65 app]$ qmake -v
QMake version 2.01a
Using Qt version 4.8.6 in /usr/local/Trolltech/Qt-4.8.6/lib

syamaokaさんのコメント
capybara-webkit の issues に追加しておきました。 https://github.com/thoughtbot/capybara-webkit/issues/700

yamaghさんのコメント
もう感動です! ご回答の手順で無事インストール出来ました! ありがとうございました! インストールできなかった理由もなるほど納得です。 おまけにGithubのページまで更新して下さって素晴らしすぎです。 自分のマシンで起きたトラブルを解決する手順がこんなに早く公式のページに反映されるなんて・・・! OSSの素晴らしさを垣間見た気がしました。 > configure のログをよく見ると警告が表示されていますが、分かりづらすぎるため普通は気が付かないと思います。 今までconfigureのログは最後にエラーが出てないか見る程度でした。 ちゃんと見てれば自力で解決出来たかもしれないだけに残念です。反省点ですね。 無事インストールが出来てまた一歩進めそうです。 回答だけでなく感動まで頂けました! 重ねてありがとうございました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ