2016-08-22 4 views
0

Es gibt ein paar Threads zu ähnlichen Fragen, aber keine haben sich als effektiv erwiesen. Ich habe auch versucht, auf der GitHub-Seite zu fragen, ohne Glück.Probleme bei der Installation von libxml gem für ruby ​​unter Windows

Wenn ich den Standard-Befehl versuchen:

gem install libxml-ruby 

Ich erhalte einen Fehler, wo der Installateur nicht libxml2.dll finden. Ich habe einen stackoverflow -Thread mit einem ähnlichen Problem gefunden und bin den Benutzerrichtlinien here gefolgt, wo ich die fehlenden Bibliotheken finden kann und wo sie enthalten sind.

Wenn ich hinzufügen Argumente an den Installationsbefehl zu Punkt, an den Verzeichnissen mit den fehlenden Bibliotheken der Verwendung von folgenden:

gem install libxml-ruby -- with-xml2-include=C:\Ruby200\include\libxml2 --with-iconv-include=C:\Ruby200\include 

ich jetzt eine Fehlermeldung erhalten, wenn das Installationsprogramm nicht ein „iconv.h“ finden Header, der sich in meinem C: \ Ruby200 \ include-Verzeichnis befindet.

C:\Users\gonz102>gem install libxml-ruby -- with-xml2-include=C:/Ruby200/include 
/libxml2 --with-iconv-include=C:/Ruby200/include 
Temporarily enhancing PATH to include DevKit... 
Building native extensions with: 'with-xml2-include=C:/Ruby200/include/libxml2 - 
-with-iconv-include=C:/Ruby200/include' 
This could take a while... 
ERROR: Error installing libxml-ruby: 
ERROR: Failed to build gem native extension. 

C:/Ruby200/bin/ruby.exe extconf.rb with-xml2-include=C:/Ruby200/include/libx 
ml2 --with-iconv-include=C:/Ruby200/include 
checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libx 
ml2,/usr/local/include/libxml2,/usr/include/libxml2... yes 
checking for xmlParseDoc() in -lxml2... yes 
checking for rb_io_bufwrite() in ruby/io.h... yes 
creating extconf.h 
creating Makefile 

make "DESTDIR=" 
compiling libxml.c 
In file included from C:/Ruby200/include/libxml2/libxml/parser.h:810:0, 
from ruby_libxml.h:7, 
from libxml.c:1: 
C:/Ruby200/include/libxml2/libxml/encoding.h:28:19: fatal error: iconv.h: No suc 
h file or directory 
compilation terminated. 
make: *** [libxml.o] Error 1 

Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/libxml-ru 
by-2.9.0 for inspection. 
Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/gems/libxml-ruby-2.9.0/ext/libx 
ml/gem_make.out 

Wenn jemand irgendwelche Vorschläge hat, was als nächstes oder mögliche Lösungen zu untersuchen, würde ich es sehr zu schätzen wissen. Ich bin über eine lange Zeit darauf gestoßen, immer wieder darauf zurückzukommen, wenn ich auf ein Projekt mit libxml stoße und würde mich gerne beraten lassen.

Vielen Dank.

Antwort

0

Ich war bei der Installation von libxml Version 2.9.0 nicht erfolgreich, aber 2.7.0 funktionierte gut. Ich sollte angeben, dass ich Windows 7 und Ruby 2.0 32 Bit ausführe. Hier ist, was ich tun musste:

-I folgte Wik Antwort here, alle fehlenden Bibliotheken von ihnen mingw64 greifen. Zugegeben, ich bin mir nicht sicher, ob ich alle brauche, aber ich habe hier eine Schrotflinte genommen.

addierten folgende meinem Systempfad:

Ruby200\lib\ruby\gems\2.0.0\gems\libxml-ruby-2.7.0-x86-mingw32\lib\libs 

Ausgeführt der folgende in der Befehlszeile:

gem install libxml-ruby -v2.7.0 -- with-xml2-include:=C/Ruby200/include/libxml2 --with-iconv-include:=C:/Ruby200/include 

Danach habe ich das Juwel, endlich installiert und war tatsächlich nutzbar.

Verwandte Themen