macOS Catalina (10.15.4) で capybara-webkit のインストールに失敗するとき(qmakeが見つからないとき)

前置き

以下の記事に全て書かれているので、そちらを見ればこの記事は用済みではあります。

結論

1. qtのリポジトリを取得する

以下のコマンドを実行します*1

$ 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

2. qt@5.5をbrewでインストールする

このまま $ brew install qt@5.5 を行うと、Error: qt@5.5: unknown version :mountain_lion というエラーが出ます。

このエラーを解決するために、Formula/qt@5.5.rb というファイルの該当部分をコメントアウトします。具体的には25行目になります。

コメントアウトして保存した後に、$ brew install qt@5.5 を実行します。

$ brew install qt@5.5
==> Downloading https://homebrew.bintray.com/bottles/qt@5.5-5.5.1_1.high_sierra.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/30/30c5a19c4c18737d40ab072d27a1b5220e746eb7a549812ce
######################################################################## 100.0%
==> Pouring qt@5.5-5.5.1_1.high_sierra.bottle.tar.gz
==> Caveats
(省略)
==> Summary
🍺  /usr/local/Cellar/qt@5.5/5.5.1_1: 7,330 files, 329.7MB

3. qmakeの設定をする

このままですと $ which qmake を実行してもqmakeが見つかりません。したがってリンクをさせるために以下のコマンドを実行します。

$ brew link --force qt@5.5
Linking /usr/local/Cellar/qt@5.5/5.5.1_1... 305 symlinks created

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/qt@5.5/bin:$PATH"' >> ~/.zshrc

これで、$ which qmake を実行すればqmakeがある場所が表示されるはずです。

4. インストールに用いた不要なファイルを削除する

インストールするために用いた /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula を削除しましょう*2

なお、無理やり削除する必要はありません。

5. capybara-webkit をインストールする

これで、capybara-webkit がインストールできるはずです。

$ bundle install
(省略)
Fetching capybara-webkit 1.15.1
Installing capybara-webkit 1.15.1 with native extensions
(省略)
Bundle complete! 58 Gemfile dependencies, 169 gems now installed.

(参考)エラーメッセージ

capybara-webkit をインストールしようとした際にqmakeが原因でエラーになるときは、以下のようなエラーメッセージが表示されます。

current directory:
(省略)
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
(省略)
Command 'qmake ' not available

extconf failed, exit code 1
(省略)
````

*1:コマンドの意味は冒頭の記事をご参考下さい

*2:場所は人によって異なるかもしれません

Powered by はてなブログ