環境
- macOS High Sierra 10.13.6
- Ruby 2.3.8 (わけあって古い)
現象
macOS で nokogiri を bundle install
すると、事前に brew install libxml2
しているにもかかわらず libxml2 が見つからないと言われて失敗します。
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: 省略
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using system libraries.
Using pkg-config gem version 1.1.9
checking for libxml-2.0... no
checking for libxslt... no
checking for libexslt... no
ERROR: cannot discover where libxml2 is located on your system. please make sure `pkg-config` is installed.
*** extconf.rb failed ***
対処
既知の対処法として、下記を事前に実行していましたが、うまくいきませんでした。いろいろググってみましたがわからず。
bundle config build.nokogiri --use-system-libraries
が nokogiri 公式 を確認すると、以下を指定するようにとあり、そのとおりにしたらうまくいきました。
bundle config build.nokogiri --use-system-libraries \
--with-xml2-include=$(brew --prefix libxml2)/include/libxml2
結論
公式は見よう。