LoginSignup
20
8

More than 5 years have passed since last update.

capybara-webkitの導入指南書(macOS版)

Last updated at Posted at 2018-10-10

弊社のプロダクトでcapybara-webkit導入してるのですが、
今導入すると躓いているポイントが深いので、
メモしておこうと思います。

https://qiita.com/labocho/items/e12bafbcf7f31ccfb76c
で書かれていますが、Mojaveでqt@5.5が導入できないことが問題で、
この後homebrewから取り除かれ、すべてのmacOSで導入できなくなりました。

何が起きたか

  • capybara-webkitにはqt@5.5に依存
  • qt@5.5はbrewで入れることができた
    • しかしMojaveでqt@5.5が導入できないのでbrewから取り除かれる
  • すべてのmacOSでbrewで導入できずcapybara-webkitがインストールできない

今回はこんな状況でもbrewからqtを入れるようにします

事前準備

Xcodeをインストール

capybara-webkitをインストールする際、アプリのXcodeが必要になります。
Xcode10でもいいのでインストールします。
https://developer.apple.com/jp/xcode/
↑DLはここから
DLしてきたXcodeは/Applications/においてください。

xcodebuildコマンドが通るかチェック

/usr/bin/xcodebuild
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
/usr/bin/xcodebuild
xcode-select: error: tool ‘xcodebuild’ requires Xcode, but active developer directory ‘/Library/Developer/CommandLineTools’ is a command line tools instance

↑正常な場合でもエラーが出ます。ややこしいですが上と同じエラー文が出ていたら問題があります。
(下のエラーの場合はXcodeが/Applications/に配置されているか確認してください)
上のエラーが出ているなら以下のコマンドを実行します。

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

(参考:https://qiita.com/Pegasus204/items/1ac470114669d3c4471c)
これでcapybara-webkitインストールできる準備が整いました。

brewからqt@5.5を導入する

https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit#macos-high-sierra-1013-macos-sierra-1012-el-capitan-1011-and-yosemite-1010
こういうときは公式ドキュメントをまず読みましょう。

公式ドキュメントがbrewの削除に更新されていますが
現時点(2018/10/10)ではこれだけでは動かないので
以下のコマンドを実行してください

brew update
cd $( brew --prefix )/Homebrew/Library/Taps/homebrew/homebrew-core
git -C "$(brew --repo homebrew/core)" fetch --unshallow
git checkout 9ba3d6ef8891e5c15dbdc9333f857b13711d4e97 Formula/qt@5.5.rb

これで導入できる準備ができました。

(詳しい理由が知りたい人向け)
新規でbrewを入れた場合
膨大な過去のコミットをとりいれずに
最新の数件のコミットだけをとりこんでいます。
現時点でqt削除は380コミット前なので過去のコミットをすべて取得できるように
コマンドを追加してあります。

HighSierra(10.13以下)の方

brew install qt@5.5

Mojaveの方

brew install qt@5.5 --force-bottle

これでqt@5.5が導入できました。
あとはbundleなりgemなりでcapybara-webkitを導入してください!

20
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
8