2011-09-14 9 views
5

Actualmente estoy tratando de instalar una gema de rubí que no funciona porque extconf dice que necesita libxml, así que cuando sigo las instrucciones these para instalar libxml (que incluye these instrucciones para la instalación del kit de rubí dev) me sale el siguiente resultado:¿Cómo instalo ruby ​​gem libxml sin 'error extconf: necesito 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 

estoy en un x64 de Windows 7 instalar usando mi mingw32-shell/git instalar. La instalación falla con el mismo mensaje de la instrucción de comando de ruby-enhanced promt.

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 respuesta a esta pregunta resolvió el problema: http : //stackoverflow.com/questions/2915788/libxml-ruby-failed-to-load-at-x86-64 – Zaz

+0

Me perdí este comentario. Debe publicar este enlace como respuesta para que otros puedan ver fácilmente la respuesta. – Kelvin

Respuesta

0

intenta ejecutar

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

de lo que debería trabajar

+0

OP dice claramente que él está en Windows – Fitzsimmons

+0

Todavía útil para mí googlear esto. Gracias. – penner

+0

En Ubuntu, es 'sudo apt-get install libxml2-dev' –

1

Debe tratar la gema nokogiri en lugar de utilizar libxml-ruby. Incluye los dll libxml2 precompilados como parte de la instalación, por lo que no tiene que preocuparse por construirlo usted mismo.

La API de Nokogiri es diferente de la de libxml-ruby, pero estoy seguro de que encontrarás la misma funcionalidad.

Si libxml-ruby es una dependencia de otra gema o aplicación, probablemente no pueda usar nokogiri. ¿Que estás tratando de hacer?

+0

¡Eso fue todo! Gran respuesta, sin necesidad de 'yum' o' apt-get' ... –

1

que tenían esto como un comentario, pero se le pidió a publicar como una respuesta para la visibilidad:

La respuesta a esta pregunta resolvió mi problema: libxml-ruby failed to load at x86_64

Cuestiones relacionadas