web-dev-qa-db-ja.com

Nokogiri gemをインストールできない

私はRailsアプリを使用して、各使用アカウントに画像を添付できるようにしています。PaperclipとAmazon Webサービスを使用しています:

gem 'Paperclip'
gem 'aws-sdk'

Bundle installを実行すると、次のメッセージが表示されます。

extconfが失敗しました、終了コード1

Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
An error occurred while installing nokogiri (1.6.5), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.5'` succeeds before bundling.

「gem install nokogiri」を実行しようとすると、次のメッセージが表示されます。

extconfが失敗しました、終了コード1

Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out

私のOSはMac OS X 10.9.4 Mavericksです。 ここで何が起こっているのですか?nokogiriをインストールして適切に動作させるにはどうすればよいですか?

フルスタックトレース

Building native extensions with: '--use-system-libraries'
This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    /usr/local/rvm/rubies/Ruby-2.1.2/bin/Ruby extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... yes
Building nokogiri using system libraries.
libxml2 version 2.6.21 or later is required!
*** 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/rvm/rubies/Ruby-2.1.2/bin/Ruby
    --help
    --clean
    --use-system-libraries
    --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

Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
18
Katie H

これは魅力のように機能します!

gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2

https://stackoverflow.com/a/24511149

31
Katie H

やってみました gem install nokogiri -v 1.6.5 -- --use-system-libraries?ほとんどのnokogiriエラーは、libxml2、libxslt、またはlibiconv configに関係しています。

Nokogiri docs は、より多くの指示を与えるはずです。ソリューションが機能しない場合は、他のユーザーがさらに支援できるように、完全なスタックトレースを投稿することをお勧めします。

8
kasperite

Ubuntuでは、次の依存関係をインストールしてみてください。

Sudo apt-get install gcc Ruby-dev libxslt-dev libxml2-dev zlib1g-dev
8
kenorb

Rails 4.2.4(これはNokogiriを含む1.6.6.2)Ubuntu 14.04の場合(RVMを使用しています)これを行う必要がありました:

Sudo apt-get install libgmp-dev

または

Sudo apt-get install libgmp3-dev
7
equivalent8

のこぎり取り付け説明書通り、

Sudo apt-get install zlib1g-dev

私のために問題を解決しました。

3
Chandru

Nokogiriをインストールする必要があるxcodeの依存関係をインストールすることで、これを解決しました。

xcode-select --install

その後、バンドルのインストールを再度実行すると、機能するはずです。

2
Alexander Luna

OPが参照していたのでbundle installたまたま使用しました Installing Nokogiri ページを指摘する価値があると思います。最終的に最もエレガントなソリューションが明らかになりました(Mac OS X 10.8.5でも機能しました)。

bundle config build.nokogiri --use-system-libraries
bundle install

これは、@ kasperiteの回答のようにnokogiriをインストールするようにバンドラーに指示します

2
Patru

それをしたパッケージ:

apt-get install libghc-zlib-dev

その他の可能な候補:

zlib1g-dev 12.04に

見つけた ここ

1
Tamer

Githubでのdylanjhuntの素晴らしい答え から取得するには、誰かが試していない場合に備えて、

これに加えて、開発ツールを更新することで解決される非常に類似した問題がありました。

xcode-select --install

誰かがこれをまだ試していなかったことを見て、助けになることを期待しています。

1
beckah

私はあなたと同じエラーメッセージを受け取りませんでしたが、Ubuntuにnokogiriをインストールするために非常に簡単な解決策として最終的に見つけたものを書き留めておきたいと思います:

patchに依存するnokogiriビルドプロセスを無効にします。

実行:Sudo apt-get install patch

私はVM(実際には迷惑な箱)で作業していたので、patchをまだインストールしていませんでした。

私が得たエラーは(エラーのように見えたが実際には単なる警告であった他の多くのものの後):

Extracting libxml2-2.9.2.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2... OK
Running patch with /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ports/patches/libxml2/0001-Revert-Missing-initialization-for-the-catalog-module.patch...
Running 'patch' for libxml2 2.9.2... ERROR, review '/var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2/patch.log' to see what happened.

私は今までにログを削除しました(上記は私の端末セッションでした)が、patch.log上記で参照したファイルは、とんでもないほど単純でした。それはpatch not found

私はそれを修正するためにライブラリをインストールしました。 :)

0
Wildcard

最初にgccをインストールする

* buntu:apt-get install gcc

その後、Uはlibxml2/zlib /などのほとんどの開発ライブラリを要求できるようになります。ビルドログ(私の場合はパス)を参照してください:/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri- 1.6.8.1/mkmf.logのような文字列-致命的なエラー:zlib.h:そのようなファイルまたはディレクトリはありません

0
guest

今日も同じ問題がありました。私はxcodeを更新しましたが、まだ条件に同意していませんでした。 Sudoの実行xcodebuild -licenseと同意して、私のバンドルが再び機能するようになりました。

0
fguillen