2011-09-14 6 views
5

Attualmente sto cercando di installare un ruby ​​gem che fallisce perché extconf dice che ha bisogno di libxml, quindi quando seguo le istruzioni these per installare libxml (che include these istruzioni per l'installazione del kit rubino dev) ottengo il seguente output:Come installare ruby ​​gem libxml senza 'extconf failure: need libxml2'

$ gem install libxml-ruby --platform x86-mswin32-60 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
ERROR: Error installing libxml-ruby: 
    ERROR: Failed to build gem native extension. 

    c:/Ruby/bin/ruby.exe extconf.rb 
checking for socket() in -lsocket... no 
checking for gethostbyname() in -lnsl... no 
checking for atan() in -lm... yes 
checking for inflate() in -lz... no 
checking for inflate() in -lzlib... no 
checking for inflate() in -lzlib1... yes 
checking for iconv_open() in -liconv... no 
checking for libiconv_open() in -liconv... yes 
checking for xmlParseDoc() in -lxml2... no 
checking for xmlParseDoc() in -llibxml2... no 
checking for xmlParseDoc() in -lxml2... no 
*** 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 
--8<-- 
    --with-xml2lib 
    --without-xml2lib 
extconf failure: need libxml2. 

Install the library or try one of the following options to extconf.rb: 

    --with-xml2-config=/path/to/xml2-config 
    --with-xml2-dir=/path/to/libxml2 
    --with-xml2-lib=/path/to/libxml2/lib 
    --with-xml2-include=/path/to/libxml2/include 

Gem files will remain installed in c:/Ruby/lib/ruby/gems/1.9.1/gems/libxml-ruby-2.2.2 for inspection. 
Results logged to c:/Ruby/lib/ruby/gems/1.9.1/gems/libxml-ruby-2.2.2/ext/libxml/gem_make.out 

sono su un Windows 7 x64 installano usando la mia mingw32-shell/git da installare. L'installazione non riesce con lo stesso messaggio dal prompt del comando windows ruby-enhanced.

FWIW:

$ ruby -v 
ruby 1.9.2p290 (2011-07-09) [i386-mingw32] 

$ git --version 
git version 1.7.6.msysgit.0 

$ gem -v 
1.8.10 
+0

La risposta a questa domanda ha risolto il problema: http : //stackoverflow.com/questions/2915788/libxml-ruby-failed-to-load-at-x86-64 – Zaz

+0

Ho perso questo commento. Dovresti pubblicare questo link come risposta in modo che gli altri possano facilmente vedere la risposta. – Kelvin

risposta

0

Provato ad eseguire

yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel 

Than dovrebbe funzionare

+0

OP dice chiaramente che è su Windows – Fitzsimmons

+0

Ancora utile per me a cercarlo su Google. Grazie. – penner

+0

Su Ubuntu, è 'sudo apt-get install libxml2-dev' –

1

Si dovrebbe provare il nokogiri gemma invece di utilizzare libxml-ruby. Include le DLL libxml2 precompilate come parte dell'installazione, quindi non devi preoccuparti di costruirlo da solo.

L'API di Nokogiri è diversa da quella di libxml-ruby, ma sono sicuro che troverai la stessa funzionalità.

Se libxml-ruby è una dipendenza per un'altra gemma o un'app, probabilmente non si può usare nokogiri. Cosa stai cercando di fare?

+0

Ecco fatto! Ottima risposta, non c'è bisogno di 'yum' o' apt-get' ... –

1

Ho avuto questo come un commento, ma è stato chiesto di pubblicarlo come una risposta per la visibilità:

La risposta a questa domanda risolto il mio problema: libxml-ruby failed to load at x86_64