弊社のプロダクトで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を導入してください!