2011-09-14 12 views
5

Obecnie próbuję zainstalować klejnot ruby, który się nie powiedzie, ponieważ extconf mówi, że potrzebuje libxml, więc kiedy postępuję zgodnie z instrukcjami these, aby zainstalować libxml (który zawiera these instrukcje instalacji zestawu ruby ​​dev) pojawia się następujący komunikat:Jak zainstalować libxml ruby ​​gem bez "niepowodzenia extconf: potrzebuję 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 

jestem na Windows 7 x64 zainstalować używając mojego mingw32-shell/git zainstalować. Instalacja nie powiedzie się z tą samą wiadomością z promtów polecenia Windows Ruby.

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

Odpowiedź na to pytanie rozwiązać ten problem: http : //stackoverflow.com/questions/2915788/libxml-ruby-failed-to-load-at-x86-64 – Zaz

+0

Brakowało mi tego komentarza. Powinieneś opublikować ten link jako odpowiedź, aby inni mogli łatwo zobaczyć odpowiedź. – Kelvin

Odpowiedz

0

Spróbuj uruchomić

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

niż powinien pracować

+0

OP wyraźnie mówi, że jest na windows – Fitzsimmons

+0

Nadal przydatny dla mnie Go to. Dzięki. – penner

+0

W systemie Ubuntu jest to 'sudo apt-get install libxml2-dev' –

1

Należy starać się nokogiri gem zamiast korzystania libxml-ruby. Obejmuje ona skompilowane biblioteki DLL biblioteki libxml2 w ramach instalacji, więc nie musisz się martwić o samodzielne budowanie.

API Nokogiri różni się od biblioteki libxml-ruby, ale jestem pewien, że znajdziesz tę samą funkcjonalność.

Jeśli libxml-ruby jest zależnością dla innego klejnotu lub aplikacji, prawdopodobnie nie możesz używać nokogiri. Co próbujesz zrobić?

+0

To było to! Świetna odpowiedź, bez potrzeby "mniam" czy "apt-get" ... –

Powiązane problemy