nokogiri の gem install できない
さくらのクラウドの CentOS 上で動いてる Rails 環境を EC2 Amazon Linux2 に移行したいのですが
EC2 AmazonLinux2
rbenv 1.1.2-11-gc46a970
ruby 2.2.10
bundler 1.17.1
で nokogiri の bundle install に失敗します
エラーメッセージは最後にはります
以下試したこと
まずメッセージにあるとおり
gem install pkg-config -v "~> 1.1"
インストールしてみたのですが
インストールには成功するもののどこにもバイナリが見当たらず
which pkg-config
/usr/bin/pkg-config
pkg-config --version
0.27.1
という感じで古いままです
いろいろなブログを検索すると出てくる
bundle config build.nokogiri --use-system-libraries
sudo yum install libxml2 libxslt
sudo yum install patch
あたりも試してみましたがエラーは変わりません
ruby や nokogiri のバージョンをかえれば成功するのかもしれないですが
他のジェムへの依存関係や動作に影響が出る可能性があるのでできるだけいまの Gemfile のまま動かしたいですが
原因のわかる方いたら助けていただきたいです
/usr/local/rbenv/versions/2.2.10/bin/ruby -r ./siteconf20191025-22336-kgso13.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using system libraries.
pkg-config could not be used to find libxml-2.0
Please install either `pkg-config` or the pkg-config gem per
gem install pkg-config -v "~> 1.1"
pkg-config could not be used to find libxslt
Please install either `pkg-config` or the pkg-config gem per
gem install pkg-config -v "~> 1.1"
pkg-config could not be used to find libexslt
Please install either `pkg-config` or the pkg-config gem per
gem install pkg-config -v "~> 1.1"
ERROR: cannot discover where libxml2 is located on your system. please make sure `pkg-config` is installed.
*** 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:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/rbenv/versions/2.2.10/bin/$(RUBY_BASE_NAME)
--help
--clean
--use-system-libraries=true
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
--with-libxml-2.0-config
--without-libxml-2.0-config
--with-pkg-config
--without-pkg-config
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include
--with-xslt-lib
--without-xslt-lib=${xslt-dir}/lib
--with-libxslt-config
--without-libxslt-config
--with-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include
--with-exslt-lib
--without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
extconf failed, exit code 1
類似の質問もいくつかあって一通り目を通したのですがどれも微妙にエラー内容が違うようです
Yosemiteで、bundle installを行うと、nokogiri install時にlibxml2 is missingのエラー