Bundle InstallまたはGem Install Nokogiriを実行すると、アプリの実行を妨げる同じ問題が発生します。この問題はローカルのもので、すべてをRails 5に移動したことによるものと思われますが、よくわかりません。エラーメッセージは次のとおりです。
An error occurred while installing nokogiri (1.8.1), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.8.1'` succeeds before bundling.
In Gemfile:
Rails_admin was resolved to 1.2.0, which depends on
Rails was resolved to 5.1.3, which depends on
actioncable was resolved to 5.1.3, which depends on
actionpack was resolved to 5.1.3, which depends on
actionview was resolved to 5.1.3, which depends on
Rails-dom-testing was resolved to 2.0.3, which depends on
nokogiri
(これはBundle Installの実行に由来します)Bundle Updateを実行し、Githubが推奨するさまざまなHomebrewコマンドを使用しようとしましたが、成功していません。
gem install nokogiri -v '1.8.1'
1 error generated.
make[2]: *** [xmlIO.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
========================================================================
*** 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.
Libkom2のような開発ライブラリがないため、Nokogiriは正常にビルドできません。ログファイルを見て、何が起こるかを確認するか、brew install libxml2
を使用してlibxml2を直接インストールしてください。
http://www.nokogiri.org/tutorials/installing_nokogiri.html でNokogiryが提供するthroubleshotingガイドを参照してください。
(UBUNTUの場合)最初にこれを試してください
Sudo apt-get install build-essential patch Ruby-dev zlib1g-dev liblzmadev
その後、インストールしてみてください。
私が見つけた解決策を投稿しています(MacOSでも同じ問題がありました)。これにより、システムライブラリを使用してgemがインストールされ、発生した問題が解決されます。
gem install nokogiri -- --use-system-libraries
[--with-xml2-config=/path/to/xml2-config]
[--with-xslt-config=/path/to/xslt-config]
bundle config build.nokogiri --use-system-libraries
bundle install
この問題の解決に役立つ可能性のある手順は次のとおりです。
gem update —system
Xcodeコマンドラインツールをインストールします。xcode-select —install
最後に、Nokogiriをインストールします:gem install nokogiri
libxml2とzlibはビルドに必要です。両方をインストールする必要があります。
Sudo dnf install libxml2-devel zlib-devel
Sudo apt install libxml2-dev zlib1g-dev
High Sierra(およびmojave)で、これはうまくいきました
gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/libxml2/
bundle update
bundle install
Xcodeをアップグレードした後も同じ問題が発生しました
実行する必要がありました:Sudo xcode-select --switch /Library/Developer/CommandLineTools/ then: Sudo bundle install --system
その後、すべてがうまくいきました。
MAC OSを使用している場合
brew unlink xz
gem install nokogiri
brew link xz
MAC OSを使用し、brew install Ruby
システムのRuby環境、および次のbundle install
は非常にスムーズに進みます。