2014-11-12 8 views
29
Running 'compile' for libxslt 1.1.28... OK 
Running 'install' for libxslt 1.1.28... OK 
Activating libxslt 1.1.28 (from /Users/Kartik/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.4.1/ports/x86_64-apple-darwin14.0.0/libxslt/1.1.28)... 
checking for main() in -llzma... yes 
checking for xmlParseDoc() in libxml/parser.h... no 
checking for xmlParseDoc() in -lxml2... no 
checking for xmlParseDoc() in -llibxml2... no 

libxml2 manca. Si prega di individuare mkmf.log per indagare su come sta fallendo.libxml2 mancante mac os x 10,10

*** 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. 
+0

Quindi cosa dice "mkmf.log"? Il problema di installazione del software però appartiene a http://superuser.com. – Raptor

+0

anche su OS X 10.11 –

risposta

79

I giocherellava in giro con questo per un bel po 'e il seguente lavorato per me ..

1) Installare libxml2 con homebrew

brew install libxml2 

2) installare la gemma via

sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri:1.6.4.1 -- --use-system-libraries --with-xml=/usr/local/Cellar/libxml2/ 
+1

mi hai salvato la vita! –

+2

Questo ha risolto il problema per me: sudo ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-future gem installa nokogiri –

+4

+1. Ho passato un'ora a divertirmi con il meraviglioso nokogiri. Ma la soluzione era così semplice! Una linea di 255 caratteri di comandi super specifici. Ha senso. – HotFudgeSunday

15

Per tutti quelli che stanno ancora ricevendo "libxml2 versione 2.6.21 o più tardi è richiesto! " messaggio, rimuovendo --use-system-libraries dal passaggio 2 di hlv sopra, ha funzionato per me.

sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri:1.6.4.1 -- --with-xml=/usr/local/Cellar/libxml2/2.9.2/ 
1

utilizzando le porte:

gem install nokogiri -- --use-system-libraries --with-xml=/opt/local/lib/libxml2.a 
3

ho finalmente finito con questa versione linea indipendente:

sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri -n /usr/local/bin -- --with-xml=/usr/local/Cellar/libxml2/ 
2

Questo ha funzionato per me (supponendo Xcode è installato):

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

Ispirato a https://stackoverflow.com/a/28767045/1884907 (crediti a lx00st)

+0

Dovrebbe essere "nokogiri" invece di "nkogiri". Grazie. – maurymmarques

+0

corretto, grazie. –

+0

Oppure usare '/ usr/include/libxml2' invece del lungo'/Applicazioni/Xcode.app/Contenuti/Sviluppatore/Piattaforme/MacOSX.platform/Sviluppatore/SDK/MacOSX10.9.sdk/usr/include/libxml2'. –

0

La mia soluzione, utilizzando porte:

sudo ARCHFLAGS='-arch x86_64' gem install nokogiri -- --use-system-libraries

Per impostazione predefinita, sarà compilare per x86_64 e i386, l'architettura per i386 dovrebbero disabili, perché le librerie dipendenze in porto fornire solo versione x86_64 per impostazione predefinita.

2

(Per MacOX 10.12.x) Forse si vuole brew install libxml2 e anche provare il collegamento in /usr/local/ prima: brew link --force libxml2, quindi provare che gem install nokogiri -- --use-system-libraries.