在Windows上安装libxml-ruby时遇到问题

时间:2014-03-14 23:24:47

标签: ruby-on-rails ruby windows

首先感谢您的时间。

我在Windows 8操作系统上安装libxml-ruby时遇到了一些麻烦。我安装了ruby并希望专门使用libxml来修改xmls,因为我团队的其他成员已经开始使用libxml。问题是他们使用的是Linux而且我在Windows上。我可以尝试将所有内容放在某个虚拟机上,但我认为我不应该这样做。

他们在linux上安装时遇到了问题,但他们的解决方案和问题与我的不同。

C:\dev\school\ece450\MyBPM>gem install libxml-ruby
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:/Ruby200/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... no
checking for inflate() in -llibz... 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
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby200/bin/ruby
        --with-iconv-dir
        --without-iconv-dir
        --with-iconv-include
        --without-iconv-include=${iconv-dir}/include
        --with-iconv-lib
        --without-iconv-lib=${iconv-dir}/
        --with-zlib-dir
        --without-zlib-dir
        --with-zlib-include
        --without-zlib-include=${zlib-dir}/include
        --with-zlib-lib
        --without-zlib-lib=${zlib-dir}/
        --with-socketlib
        --without-socketlib
        --with-nsllib
        --without-nsllib
        --with-mlib
        --without-mlib
        --with-zlib
        --without-zlib
        --with-zliblib
        --without-zliblib
        --with-zlib1lib
        --without-zlib1lib
        --with-libzlib
        --without-libzlib
 extconf failure: need zlib

extconf failed, exit code 1

Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/libxml-ru
by-2.7.0 for inspection.
Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/extensions/x86-mingw32/2.0.0/li
bxml-ruby-2.7.0/gem_make.out

我尝试过安装zlib(二进制文件)并指向zlib二进制文件。 这没有什么帮助。

所以现在我在Google上搜索:)

2 个答案:

答案 0 :(得分:3)

好吧,我终于厌倦了自己遇到这个问题(并最终放弃并转移到VM)。所以我花了一些时间摆弄,最终得到了一个可靠的方法来获得安装Ruby(现在的2.2.3)和libxml-ruby在Windows上。

  1. 从rubyinstaller.org
  2. 下载并安装适用于您的架构的最新Ruby
  3. 从同一页面下载匹配的DevKit
  4. 提取DevKit并按照设置说明进行操作,尤其是step 4
  5. zlib1.dll<ruby_install_dir>/bin复制到<ruby_install_dir>/lib
  6. 下载MinGW iconv package并将mingw64/lib中的所有内容解压缩为<ruby_install_dir>/lib
  7. 下载libxml for windows(见下文)。将其lib的内容<ruby_install_dir>/lib提取到include ,将<ruby_install_dir>/include目录的内容提取到gem install libxml-ruby
  8. 幸运的是,gem install libxml-ruby -- with-xml2-include=C:\Ruby22-x64\include\libxml2 --with-iconv-include=C:\Ruby22-x64\include现在应该可以使用了,但是你很可能不得不尝试一些不同的安装程序参数。最终我需要https://forge.imag.fr/frs/?group_id=184&release_id=320
  9. 由于StackOverflow只允许我在答案中发布两个链接;

    我发现了一个64位版本的libxml for windows for ftp://ftp.zlatkovic.com/libxml/64bit/

    另一种可能性是 \x

    但似乎都不是官方来源,所以当你读到它时,不能保证它会出现;)

答案 1 :(得分:1)

没关系。

我开始通过互联网旅行并决定使用虚拟机并在linux上运行ruby。是的1小时安装......

这是我的旅程结束的地方 http://rubyonwindowsguides.github.io/book/ch02-05.html

感谢阅读。