Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

306_san
色々なものをかじっただけの所謂にかわ系エンジニア。IoTからWebからHololensが少しできる広く浅くやってくタイプのエンジニア
cirkit
地域活性化を目的に学生と地域をつなぐサービスを開発・運営しています。
http://www.cirkit.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away