Nokogiri: Nokogiri 1.8.4 Installationsherausforderungen unter macOS Mojave

Erstellt am 26. Sept. 2018  ·  41Kommentare  ·  Quelle: sparklemotion/nokogiri

Wenn Sie Probleme bei der Installation von Nokogiri haben ...

Haben Sie versucht, [dem Installations-Tutorial][Tutorial] zu folgen?
ja

Was ist die Ausgabe von gem install ?

Building native extensions with: '--use-system-libraries --with-xslt-dir=/usr/local/opt/libxslt --with-xslt-dir=/usr/local/opt/libxml2'
This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    current directory: ~/.gem/ruby/2.5.1/gems/nokogiri-1.8.4/ext/nokogiri
~/.rubies/ruby-2.5.1/bin/ruby -r ./siteconf20180926-34637-1628dkt.rb extconf.rb --use-system-libraries --with-xslt-dir=/usr/local/opt/libxslt --with-xslt-dir=/usr/local/opt/libxml2
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using system libraries.
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=~/.rubies/ruby-2.5.1/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
    --with-xslt-include
    --without-xslt-include=${xslt-dir}/include
    --with-xslt-lib
    --without-xslt-lib=${xslt-dir}/lib
    --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

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  ~/.gem/ruby/2.5.1/extensions/x86_64-darwin-18/2.5.0-static/nokogiri-1.8.4/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in ~/.gem/ruby/2.5.1/gems/nokogiri-1.8.4 for inspection.
Results logged to ~/.gem/ruby/2.5.1/extensions/x86_64-darwin-18/2.5.0-static/nokogiri-1.8.4/gem_make.out

Was ist der Inhalt der Datei mkmf.log ?

"clang -o conftest -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/x86_64-darwin18 -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/backward -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0 -I. -I~/.rubies/ruby-2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe  conftest.c  -L. -L~/.rubies/ruby-2.5.1/lib -L. -L~/.rubies/ruby-2.5.1/lib  -fstack-protector -L/usr/local/lib     -lruby.2.5.1-static -framework Foundation  -lpthread -lgmp -ldl -lobjc  "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

"clang -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/x86_64-darwin18 -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/backward -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0 -I. -I~/.rubies/ruby-2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe    -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main() {return 0;}
/* end */

"clang -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/x86_64-darwin18 -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/backward -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0 -I. -I~/.rubies/ruby-2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe  -Wno-error=unused-command-line-argument-hard-error-in-future   -Werror -c conftest.c"
error: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Werror,-Wunknown-warning-option]
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main() {return 0;}
/* end */

"pkg-config --exists libxml-2.0"
| pkg-config --libs libxml-2.0
=> "-lxml2\n"
"clang -o conftest -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/x86_64-darwin18 -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/backward -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0 -I. -I~/.rubies/ruby-2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe  conftest.c  -L. -L~/.rubies/ruby-2.5.1/lib -L. -L~/.rubies/ruby-2.5.1/lib  -fstack-protector -L/usr/local/lib     -lruby.2.5.1-static -framework Foundation -lxml2 -lpthread -lgmp -ldl -lobjc  "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

| pkg-config --cflags-only-I libxml-2.0
=> "-I/usr/include/libxml2\n"
| pkg-config --cflags-only-other libxml-2.0
=> "\n"
| pkg-config --libs-only-l libxml-2.0
=> "-lxml2\n"
package configuration for libxml-2.0
cflags:
ldflags:
libs: -lxml2

"pkg-config --exists libexslt"
| pkg-config --libs libexslt
=> "-lexslt -lxslt -lxml2 -lz -lpthread -licucore -lm -lxml2\n"
"clang -o conftest -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/x86_64-darwin18 -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/backward -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0 -I. -I/usr/include/libxml2 -I/usr/local/opt/libxml2/include -I~/.rubies/ruby-2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe   conftest.c  -L. -L~/.rubies/ruby-2.5.1/lib -L/usr/local/opt/libxml2/lib -L. -L~/.rubies/ruby-2.5.1/lib  -fstack-protector -L/usr/local/lib      -lxml2 -lruby.2.5.1-static -framework Foundation -lexslt -lxslt -lxml2 -lz -lpthread -licucore -lm -lxml2 -lpthread -lgmp -ldl -lobjc  "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

| pkg-config --cflags-only-I libexslt
=> "-I/usr/include/libxml2\n"
| pkg-config --cflags-only-other libexslt
=> "\n"
| pkg-config --libs-only-l libexslt
=> "-lexslt -lxslt -lxml2 -lz -lpthread -licucore -lm -lxml2\n"
package configuration for libexslt
cflags:
ldflags:
libs: -lexslt -lxslt -lxml2 -lz -lpthread -licucore -lm -lxml2

"clang -E -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/x86_64-darwin18 -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/backward -I~/.rubies/ruby-2.5.1/include/ruby-2.5.0 -I. -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/local/opt/libxml2/include -I~/.rubies/ruby-2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe     conftest.c -o conftest.i"
conftest.c:3:10: fatal error: 'libxml/xmlversion.h' file not found
#include <libxml/xmlversion.h>
         ^~~~~~~~~~~~~~~~~~~~~
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <libxml/xmlversion.h>
/* end */

Welches Betriebssystem verwendest du?

macOS 10.14 Mojave

Ich habe versucht, alles neu zu installieren, was ich konnte, aber ohne Erfolg. Ich habe pkg-config , libxml2 und libxslt von Homebrew verwendet...

platforosx

Hilfreichster Kommentar

Ich war erfolgreich mit gem install nokogiri -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2

Aber nicht mit libxml2 von Homebrew .

Alle 41 Kommentare

Ich war erfolgreich mit gem install nokogiri -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2

Aber nicht mit libxml2 von Homebrew .

Es tut mir leid, dass Sie alle Schwierigkeiten haben.

Wenn jemand, der ein Mac-Benutzer ist, überprüfen möchte, ob dies funktioniert, und eine PR für das Installations-Tutorial einreichen würde, wäre ich sehr dankbar. Alternativ, wenn wir etwas in der extconf ändern können, würde ich mich über eine PR freuen.

Markieren Sie auch @zenspider, da er in der Vergangenheit so freundlich war, im Namen von Mac-Benutzern Hilfe anzubieten.

Ich glaube nicht, dass der Originalbericht für mich sinnvoll ist (umformatiert):

Building native extensions with: '--use-system-libraries \
      --with-xslt-dir=/usr/local/opt/libxslt \
      --with-xslt-dir=/usr/local/opt/libxml2'

Dies sagt "Build und Link gegen Systembibliotheken, aber suchen Sie nach deren Konfigurationen in diesen völlig unterschiedlichen Builds". Ich würde erwarten, dass das kaputt geht. Siehe dies für weitere Details:

http://www.nokogiri.org/tutorials/installing_nokogiri.html#using -your-system-libraries

@zenspider Ich habe hier eine von vielen Iterationen von mir gemacht. Das Problem ist immer noch das gleiche, wenn ich nur gem install nokogiri . Es ist nicht möglich, Nokogiri auf Mojave ohne zusätzliche Parameter zu installieren.

Du hast recht. Es gibt einen Fehler im Befehl --with-xslt-dir=/usr/local/opt/libxml2' => --with-xml2-dir=/usr/local/opt/libxml2'
Aber das Ergebnis ist das gleiche, selbst wenn ich die richtige Form verwende. Die Installation von Nokogiri ist auf Mojave fehlgeschlagen.

Nur das hat funktioniert

gem install nokogiri -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2

Die Erwartung ist, dass ich nur gem install nokogiri auf Mojave ausführen muss. Beim Vorgänger High Sierra gab es keine Probleme.

OK. Ich habe den Grund gefunden, warum es auf Mojave passiert

Siehe https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035624

Es ist erforderlich, um einen weiteren Schritt zu machen und dies als vorübergehende Problemumgehung auf Mojave zu installieren:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Erläuterungen finden Sie in den Xcode-Versionshinweisen

@deepj Vielen Dank für das

https://github.com/sparklemotion/nokogiri.org-tutorials/blob/master/content/installing_nokogiri.md

Ich habe leider keinen Mac und kann daher nicht überprüfen, ob die Schritte, die ich aufschreibe, richtig sind. Ich würde Ihre Hilfe wirklich schätzen!

@flavorjones werde ich machen. Aber was ich aus den Versionshinweisen von Xcode habe, ist erforderlich, um eine Art und Weise zum Suchen von Headern unter macOS 10.14 und höher zu ändern. Kann @zenspider hier bitte helfen? Ich habe keine Ahnung, wie diese Zusammenstellungsmaterialien funktionieren.

Ich bin gerade auf das gleiche Problem auf einer Maschine gestoßen, die auf 10.14 aktualisiert wurde.

Das Aktualisieren der Befehlszeilentools für Xcode hat dies für mich behoben.

Befehlszeilentools für Xcode 10.14

Nochmals eine offene Bitte an Mac-Benutzer, die Ruby-Community zu unterstützen: Kann jemand bitte eine PR für das Installations-Tutorial einreichen, in der erklärt wird, wie die Xcode-Tools auf 10.14 aktualisiert werden?

Ich war erfolgreich mit gem install nokogiri -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2

Aber nicht mit libxml2 von Homebrew .

Dies funktionierte tatsächlich auf Mojav Mac OS X

Noch einmal, dieses Mal mit Begeisterung: Kann ein Mac-Benutzer zu diesem Thema bitte helfen, die Ruby-Community zu unterstützen, indem er eine PR an das Installations-Tutorial sendet, in der erklärt wird, wie man die Xcode-Tools auf 10.14 aktualisiert?

@flavorjones die xcode-Befehlszeilentools werden über den App Store aktualisiert. @wsizoo Hinweis scheint hier verwirrend zu sein. Lesen Sie einfach die Versionshinweise zu xcode https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035624

Mein Verständnis ist, dass nokogiri die Suche nach den Headern in Mojave 10.14 mit den neuen xcode-Befehlszeilentools 10.x ändern muss. Wie Apple in den Versionshinweisen feststellte, bieten sie eine vorübergehende Problemumgehung, um die Header an der alten Stelle zu installieren. Dies wird später nicht möglich sein. Apple empfiehlt, den Ort, an dem nach den Headern gesucht wird, in einen neuen zu ändern.

Die Aktualisierung der xcode-Befehlszeilentools hilft also auch nicht. Das ist mein Verständnis der Situation. Hier kann ich falsch liegen:

Ich habe es geschafft, es auf 10.14 zu installieren, indem ich Folgendes ausgeführt habe:

xcode-select --install
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Gefolgt von:

sudo mv /usr/local/include /usr/local/include_old
gem install nokogiri

Senden Sie gerne eine Doc-Update-PR, wenn diese Lösung anderen zu helfen scheint.

@grega das Problem damit, es wird in Zukunft nicht mehr funktionieren. Es ist nur ein vorübergehender Workaround, der von Apple angeboten wird. Lesen Sie einfach dies https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035624

Ok, ich verstehe die zugrunde liegende Herausforderung besser, nämlich mit dem neuen XCode SDK nach Header-Dateien und Bibliotheken an der richtigen Stelle zu suchen. Dank dafür.

Dies ist immer noch nicht etwas, für das ich persönlich gerüstet bin, daher möchte ich jemanden bitten, der sich um den Mac-Support kümmert, mir entweder durch Einreichen einer PR oder bei der Suche nach einer geeigneten Lösung hilft. Ich besitze keinen Mac, und außerdem erwarte ich, dass jemand aus der Community dabei helfen oder ihn vollständig besitzen kann.

OK, vielleicht kann jemand überprüfen, ob der Ansatz funktioniert, wenn ich ein bisschen mehr Informationen dazu gebe, wie ich das angehen würde, wenn ich Zugriff auf einen Mac mit Mojave hätte.

extconf.rb ist an dieser Stelle eine ziemlich große Datei, aber wenn jemand den Abschnitt in Zeile 395 finden kann, der CFLAGS für OpenBSD hackt, können wir etwas Ähnliches für Mojave versuchen:

if darwin?
  ENV['CFLAGS'] = "#{ENV['CFLAGS']} -I /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"
end

Kann hier jemand versuchen, seine extconf.rb auf diese Weise zu patchen und zu sehen, ob es das zugrunde liegende Problem behebt?

Ich konnte Nokogiri auf Mojave installieren, nachdem ich nur xcode-select --install .

Für Leute, die Homebrew verwenden, hat mir

gem install nokogiri -- --use-system-libraries --with-iconv-dir=$(brew --prefix libiconv) --with-xml2-include=$(brew --prefix libxml2)/include/libxml2

Hey alle zusammen,

In meinen obigen Kommentaren schlug ich eine mögliche Lösung vor, stellte einen Patch bereit und fragte, ob macOS-Benutzer es ausprobieren würden und mich wissen lassen würden, ob es die zugrunde liegenden Probleme behebt.

In diesem Kommentar wird ein letztes Mal gefragt, ob jemand in der Ruby-Community, der ein macOS-Benutzer ist, diese dreizeilige Änderung auf seinem lokalen Computer ausprobieren und mich wissen lassen kann, ob das zugrunde liegende Problem behoben ist.

Wenn es jemand ausprobieren und antworten kann, werde ich im Changelog ein nachdrückliches "Dankeschön" für Ihre Hilfe bereitstellen. Wenn niemand antwortet, gehe ich davon aus, dass es kein Problem mehr ist.

@flavorjones Angst, ich hatte kein Glück, meinen Mac wieder in einen Zustand zu extconf.rb testen 😞

Hey @flavorjones , ich möchte Sie wissen lassen, dass 1.8.5 automatisch mit den neuesten Updates auf Mojave-Computern installiert wird und ohne Änderungen an nokogiri (oder Ihrer vorgeschlagenen Änderung an extconf.rb) vornehmen zu müssen.

@bbonamin du

Nachdem ich ein paar Stunden mit dem Kopf dagegen gehämmert hatte, stellte sich heraus, dass ich einen veralteten libxml-Pfad in der Bundle-Konfiguration hatte. Am Ende habe ich bundle config build.nokogiri --use-system-libraries --with-xml2-include=/usr/include/libxml2 . zuvor wurde --with-xml2-include auf etwas tief in einem Xcode SDK gesetzt, das entfernt wurde und den Build blockierte.

Ich habe es geschafft, es auf 10.14 zu installieren, indem ich Folgendes ausgeführt habe:

xcode-select --install
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Gefolgt von:

sudo mv /usr/local/include /usr/local/include_old
gem install nokogiri

Senden Sie gerne eine Doc-Update-PR, wenn diese Lösung anderen zu helfen scheint.

Ich bin so froh, dass das mein Problem gelöst hat, dass ich in den letzten Tagen versucht habe, es zu beheben. Sie müssen diese Installationsprobleme beheben.

@kenkuts Hast du zufällig einen meiner obigen Kommentare gelesen, in denen ich versuche, jemanden dazu zu bringen, zu bestätigen, dass eine einzeilige Änderung in extconf.rb funktioniert?

Nochmals: Jeder Mac-Benutzer, der dieses Problem hat, hört auf zu versuchen, es zu hacken. Lesen Sie diesen Kommentar oben:

https://github.com/sparklemotion/nokogiri/issues/1801#issuecomment -438526682

Bitte klonen Sie das Repository, nehmen Sie diese kleine Änderung an extconf.rb vor, führen Sie rake compile und antworten Sie, wenn es mit der Änderung erfolgreich abgeschlossen wird und ohne die Änderung fehlschlägt.

Ich bin dabei, v1.9.0 zu kürzen, und bis heute konnte mir niemand, der einen Mac verwendet, sagen, ob dieser Fix funktioniert, und daher wird er nicht in dieser Version enthalten sein. Es wird nicht in einer Veröffentlichung sein, bis jemand bestätigen kann, dass es funktioniert.

Snarky-Kommentare werden die Arbeit nicht erledigen; Testen eines vorgeschlagenen Fixes wird.

@flavorjones OK, ich habe herausgefunden, warum das jemand von uns passiert. Jemand von uns hat so etwas wie export NOKOGIRI_USE_SYSTEM_LIBRARIES=true in seinen Shell-Profilen.

Ich habe den Patch ausprobiert. Und das hat überhaupt nicht geholfen. libxml2 , libxslt und pkg-config wird über Homebrew installiert.

screenshot 2018-12-17 at 18 31 05

In meinem Fall hing das Problem eher mit https://stackoverflow.com/questions/14607193/installing-gem-or-updating-rubygems-fails-with-permissions-error zusammen

Als ich den Befehl bundle install ausführte, konnte er im Grunde nicht "verstehen", dass ich rbenv . hatte

Sobald ich sichergestellt habe, dass nach dem Ausführen von which gem ich /Users/justin/.rbenv/shims/gem , läuft alles reibungslos

Ein Update auf die neueste Version von Nokogiri 1.9.0 hat das Problem bei mir gelöst

git install nokogiri

OK, vielleicht kann jemand überprüfen, ob der Ansatz funktioniert, wenn ich ein bisschen mehr Informationen dazu gebe, wie ich das angehen würde, wenn ich Zugriff auf einen Mac mit Mojave hätte.

extconf.rb ist an dieser Stelle eine ziemlich große Datei, aber wenn jemand den Abschnitt in Zeile 395 finden kann, der CFLAGS für OpenBSD hackt, können wir etwas Ähnliches für Mojave versuchen:

if darwin?
  ENV['CFLAGS'] = "#{ENV['CFLAGS']} -I /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"
end

Kann hier jemand versuchen, seine extconf.rb auf diese Weise zu patchen und zu sehen, ob es das zugrunde liegende Problem behebt?

Hey @flavorjones , das scheint für mich zu funktionieren (ich habe stattdessen ENV['CFLAGS'] = "#{ENV['CFLAGS']} -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk" verwendet, weil dort mein SDK ist). Es scheint jedoch auch ohne diese Änderung erfolgreich zu kompilieren. Ich verwende macOS Mojave 10.14.2 Beta (18C52a) mit Xcode 10.1 (10B61). Bitte lassen Sie es mich wissen, wenn ich etwas anderes ausprobieren soll.

Bearbeiten: Nokogiri 1.9.1 funktioniert jetzt für mich, wenn ich es aus einem Gemfile installiere und bundle install , aber ich bin mir nicht sicher, ob das daran liegt, dass ich rvm und bundler neu installiert habe

@rajivshah3 danke. Letzteres ist ein Bundler... Und ich dachte, es wäre behoben. Ich habe es eine Weile nicht gesehen. Vielleicht möchten Sie aktualisieren.

Ich war erfolgreich mit gem install nokogiri -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2

Aber nicht mit libxml2 von Homebrew .

Das hat bei mir funktioniert. Habe fast alle auf Google, Stackoverflow und Github verfügbaren Vorschläge ausprobiert, ist aber fehlgeschlagen. Das ist für mich wie ein Lebensretter.

@deepj Vielen Dank für Ihre Antwort - es gibt viel Lärm in diesem Thread und Sie sorgen für etwas Klarheit.

Können Sie Ihre mkmf.log Datei aus einer fehlgeschlagenen bundle exec rake compile mkmf.log Datei bereitstellen, in der Sie den vorgeschlagenen Patch angewendet haben und die Fehlermeldung "kann nicht ermitteln, wo sich libxml2 auf Ihrem System befindet" gesehen haben? Es wäre auch hilfreich, alle Befehle anzugeben, die Sie ausführen, damit ich auch diesen Kontext habe.

@flavorjones Hallo, ich schaue mir das Wochenende mal an und dann gebe ich dir Bescheid. Sorry für die späte Antwort, Urlaub hier.

Bitte beachten Sie, dass @mlj bestätigt hat, dass der in https://github.com/sparklemotion/nokogiri/issues/1801#issuecomment -438526682 vorgeschlagene Fix für ihn funktioniert, und die PR in https://github.com/sparklemotion/ eingereicht hat.

Ich habe #1851 in master zusammengeführt. Ich erwäge, eine Version 1.10.1 mit dieser Änderung zu kürzen. Werde dies offen lassen, bis eine Version ausgeliefert wird.

@Onkar09 Könnten Sie bitte mehr Kontext bereitstellen?

  1. Nur um sicher zu gehen, einfach gem install nokogiri hat bei dir nicht funktioniert, oder? Dies ist der am meisten empfohlene Weg.
  2. Haben Sie den zweiten empfohlenen Weg versucht, Mit Systembibliotheken installieren ?

@flavorjones Ich denke, die meisten der oben genannten „Lösungen“ werden bereits in der Dokumentation behandelt. andere können sich einfach nicht reproduzieren, also können wir dieses Problem schließen. Ich glaube nicht, dass Ihr Patch notwendig ist, da er im Kapitel „Installieren mit Systembibliotheken“ behandelt werden sollte.

https://github.com/Homebrew/brew/tree/master/Library/Homebrew/os/mac/pkgconfig~~

Ok, ich habe gelesen, dass macOS Mojave /usr/include nicht hinzufügt. Ich werde mit dem Homebrew-Team diskutieren , um nach einer Lösung zu suchen. Dies ist für Nokogiri nicht möglich.

@FranklinYu Ein Fix wurde bereits an den Master übergeben - siehe meinen Kommentar oben.

Ich hatte den Fehler für eine bestimmte Version 1.6.6.2 dies für mich behoben -> gem install nokogiri -v '1.6.6.2' -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2

@akshatpaul Wenn ich 1.6.6.2 am 23. Januar 2015 veröffentlicht wurde . Bitte spammen Sie dieses Problem nicht, da Sie so ziemlich auf sich allein gestellt sind.

@akshatpaul ist vielleicht eine freundlichere Art, @FranklinYus Antwort zu

Vielen Dank, dass Sie Nokogiri verwenden, und tut mir leid, dass ich Ihnen im Moment nicht weiterhelfen kann.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

flavorjones picture flavorjones  ·  4Kommentare

sasatefa2009 picture sasatefa2009  ·  4Kommentare

jdguzman picture jdguzman  ·  3Kommentare

IceDragon200 picture IceDragon200  ·  5Kommentare

flavorjones picture flavorjones  ·  3Kommentare