web-dev-qa-db-ja.com

バンドルインストールの実行時のNokogiri v 1.8.1の問題

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.
9
user7406101

Libkom2のような開発ライブラリがないため、Nokogiriは正常にビルドできません。ログファイルを見て、何が起こるかを確認するか、brew install libxml2を使用してlibxml2を直接インストールしてください。

http://www.nokogiri.org/tutorials/installing_nokogiri.html でNokogiryが提供するthroubleshotingガイドを参照してください。

6
TlmaK0

(UBUNTUの場合)最初にこれを試してください

Sudo apt-get install build-essential patch Ruby-dev zlib1g-dev liblzmadev

その後、インストールしてみてください。

12

私が見つけた解決策を投稿しています(MacOSでも同じ問題がありました)。これにより、システムライブラリを使用してgemがインストールされ、発生した問題が解決されます。

  1. gemを使用する場合:
gem install nokogiri -- --use-system-libraries
 [--with-xml2-config=/path/to/xml2-config]
 [--with-xslt-config=/path/to/xslt-config]
  1. bundleを使用する場合:
bundle config build.nokogiri --use-system-libraries
bundle install
6
cbaillat

この問題の解決に役立つ可能性のある手順は次のとおりです。

  1. gem update —system

  2. Xcodeコマンドラインツールをインストールします。xcode-select —install

  3. 最後に、Nokogiriをインストールします:gem install nokogiri

2
Cyzanfar

libxml2とzlibはビルドに必要です。両方をインストールする必要があります。

Fedora:

Sudo dnf install libxml2-devel zlib-devel

Ubuntu:

Sudo apt install libxml2-dev zlib1g-dev 
1
MrRolling

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
1
user5783745

Xcodeをアップグレードした後も同じ問題が発生しました

実行する必要がありました:Sudo xcode-select --switch /Library/Developer/CommandLineTools/ then: Sudo bundle install --system

その後、すべてがうまくいきました。

0
Mr. Rene

MAC OSを使用している場合

brew unlink xz
gem install nokogiri
brew link xz

MAC OSを使用し、brew install RubyシステムのRuby環境、および次のbundle installは非常にスムーズに進みます。

0
Menglong Li