it-swarm.com.de

Der Nokogiri-Edelstein kann nicht installiert werden

Ich arbeite an einer Rails-App, die das Anhängen von Bildern an jedes Benutzerkonto ermöglicht. Ich verwende Paperclip- und Amazon-Webdienste:

gem 'Paperclip'
gem 'aws-sdk'

Beim Ausführen der Bundle-Installation wird folgende Meldung angezeigt: 

extconf fehlgeschlagen, Beendigungscode 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.

Wenn ich versuche, 'gem install nokogiri' auszuführen, erhalte ich folgende Meldung:

extconf fehlgeschlagen, Beendigungscode 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

Mein Betriebssystem ist Mac OS X 10.9.4 Mavericks. Was ist denn hier los? Wie bekomme ich die Installation und das richtige Verhalten von Nokia?

Vollständige Stapelverfolgung :

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
14
Katie H

Das funktioniert wie ein Zauber!

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

29
Katie H

Haben Sie gem install nokogiri -v 1.6.5 -- --use-system-libraries versucht? Die meisten nokogiri-Fehler beziehen sich auf libxml2, libxslt oder libiconv config.

Nokogiri docs sollte Ihnen mehr Anweisungen geben. Wenn die Lösung nicht funktioniert, möchten Sie möglicherweise eine vollständige Stapelverfolgung bereitstellen, damit andere mehr helfen können.

7
kasperite

nach dem Upgrade auf Rails 4.2.4 (was Nokogiri 1.6.6.2 umfasst) auf Ubuntu 14.04 (ich verwende RVM) musste ich Folgendes tun:

Sudo apt-get install libgmp-dev

oder 

Sudo apt-get install libgmp3-dev
4
equivalent8

Installieren Sie unter Ubuntu die folgenden Abhängigkeiten:

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

Ich habe dieses Problem gelöst, indem ich die xcode-Abhängigkeiten installiert habe, die Nokogiri installieren muss:

xcode-select --install

Nach dem Ausführen des Bundles erneut installieren und es sollte funktionieren.

2
Alexander Luna

Wie in der Installationsanleitung für die Installation von nokogiri beschrieben, 

Sudo apt-get install zlib1g-dev

hat das Problem für mich gelöst.

2
Chandru

Da das OP auf bundle install verwies, den ich zufällig auch verwendete, lohnt es sich, auf die Seite Installation von Nokogiri hinzuweisen, die schließlich die eleganteste Lösung ergab (die für mich auch unter Mac OS X 10.8.5 funktionierte):

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

Dies weist den Bundler an, nokogiri wie in den Antworten von @kasperite zu installieren

2
Patru

Paket, das es geschafft hat:

apt-get install libghc-zlib-dev

Andere mögliche Kandidaten:

zlib1g-dev am 12.04

fand es hier

1
Tamer

Ich habe nicht dieselbe Fehlermeldung wie Sie erhalten, aber ich wollte anmerken, was ich als außerordentlich einfache Lösung für die Installation von nokogiri unter Ubuntu gefunden habe:

Der nokogiri-Buildprozess hängt von patch ab.

Run: Sudo apt-get install patch

Ich arbeitete an einer VM (eigentlich eine Vagrant-Box), weshalb ich patch noch nicht installiert habe.

Der Fehler, den ich bekam (nach vielen anderen Sachen, die wie ein Fehler aussahen, aber eigentlich nur eine Warnung waren) war:

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.

Ich habe das Protokoll inzwischen gelöscht (das obige war in meiner Terminalsitzung), aber die oben angegebene patch.log-Datei war absurd einfach; es sagte nur etwas wie patch not found.

Junge, ich fühlte mich dumm bei all dem Graben, in dem ich Bibliotheken installierte, die versuchten, das Problem zu beheben! :)

0
Wildcard

Von dylanjhunts fantastische Antwort auf Github zu nehmen, nur für den Fall, dass jemand es nicht versucht hat,

Nur um das hinzuzufügen, hatte ich ein sehr ähnliches Problem, nämlich behoben durch Aktualisierung der Dev-Tools.

xcode-select --install

Ich hoffe, jemand sieht das, was dies noch nicht versucht hat und es hilft.

0
beckah

installieren Sie zuerst GCC

in * buntu: apt-get install gcc

danach kann U die meisten Dev-Bibliotheken anfordern, wie z. B. libxml2/zlib/etc . Siehe build-Protokoll (Pfad in meinem Fall): /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8.1/mkmf.logfür einen String wie - fataler Fehler: zlib.h: Keine solche Datei oder ein solches Verzeichnis

0
guest

Ich hatte heute das gleiche Problem. Ich hatte mein Xcode aktualisiert und hatte nicht den Bedingungen noch zugestimmt. Sudo xcodebuild -license ausführen und zustimmen habe mein Bundle wieder zum Laufen gebracht.

0
fguillen