我查看了涉及libxml-ruby gem的安装问题的大多数答案,并且在没有解决方案的情况下我遇到了这个问题。我目前正在运行Ruby 2.3.3。
这是我正在使用的当前命令:
gem install libxml-ruby -- --with-xml2-lib=C:\Ruby-2.3.3\lib --with-xml2-include=C:\Ruby-2.3.3\include
由此产生的问题是:
checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libxml2,
/usr/local/include/libxml2,
/usr/include/libxml2... yes
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.
xmlParseDoc()在Parser.h中,但在某些我找不到的地方丢失了。有没有其他人遇到同样的问题,并找到了解决方案?
当我使用相同的命令降级到libxml-ruby 2.7时,我得到了它的工作。我还想弄清楚为什么新版本无法安装。我最终需要2.8.0或更高版本,这导致了这个问题。
答案 0 :(得分:0)
我终于找到了解决方案。对我有用的是我首先按照solution中的说明进行操作。在我不得不去找libiconv的一些遗失的东西之后;我从here得到了那些。我提取了它的lib并包含内容,就像上面的解决方案一样(lib进入Ruby lib,包含在Ruby包含中)。我必须在encoding.h中更改#include <iconv.h>
。这需要更改为#include <path-to-/iconv.h>
,之前已提取到Ruby的include目录中。我能够运行gem install libxml-ruby -- with-xml2-include=C:/Ruby23/include/libxml2 --with-iconv-include=C:/Ruby23/include
。