【发布时间】:2011-03-18 14:40:07
【问题描述】:
尝试在我的 Windows 计算机上安装 ruby gem libxml-ruby 时,我收到以下错误消息
D:/.../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
extconf failure: need zlib
谁能告诉我如何安装这个 gem?我搜索了答案,也找到了 zlib 库,但不知道在哪里使用它们。
我正在使用 ruby 版本 1.8.7 和 devkit 4.5.1
我的解决方案
- 将 ruby/bin 文件夹中的 zlib1.dll 复制到 ruby/lib 文件夹中
- 从ftp://ftp.zlatkovic.com/libxml/下载了iconv.dll,也放到了ruby/lib文件夹中
- 从ftp://ftp.zlatkovic.com/libxml/ 下载libxml2 并将libxml-folder 从包含文件夹中的devkit 包含目录中放入mingw (在我的情况下……像devkit/mingw/mingw32/include)
【问题讨论】:
-
除非你真的需要 libxml,否则我会用 Nokogiri 代替它,它是目前最好的 XML gem。
-
是的,我需要它来运行第三方代码
-
此类问题的一个常见原因是您拥有的 zlib 没有使用与您的 ruby 相同的架构...如果 ruby 是 64 位,您将需要一个 64 位的 zlib,如果是 x32,那么您将需要两个 x32。另外,请确保您的 zlib.ddl 在您的路径中。
-
在哪个路径?在哪里可以找到 64 位的 zlib?在我看来只有一个版本可以在zlib.net 找到
标签: ruby gem zlib libxml2 devkit