windows xp上的libxml-ruby问题

时间:2009-04-23 22:36:14

标签: windows-xp failed-installation libxml-ruby

大约一个月前我安装了libxml-ruby gem install libxml-ruby 它工作得很好。 然后我今天在另一台机器上安装它,它失败了这个错误:

C:\Windows\system32>gem install -r libxml-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing libxml-ruby:
        ERROR: Failed to build gem native extension.

c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake RUBYARCHDIR=c:/ruby/lib/ruby/
gems/1.8/gems/libxml-ruby-1.1.3-x86-mswin32-60/lib RUBYLIBDIR=c:/ruby/lib/ruby/g
ems/1.8/gems/libxml-ruby-1.1.3-x86-mswin32-60/lib
'c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake' is not recognized as an int
ernal or external command,
operable program or batch file.


Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/libxml-ruby-1.
1.3-x86-mswin32-60 for inspection.
Results logged to c:/ruby/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.3-x86-mswin32-6
0/ext/mingw/gem_make.out

我安装了rake和win32-api

如果我之前在我的机器上安装了libxml-ruby并尝试卸载并重新安装它,那我就很困惑。它现在失败了我的机器上的相同的错误消息和我写的解析xml的一些脚本,以前工作,不再工作。有没有其他人尝试在Windows XP上安装libxml-ruby?它似乎完全被打破了。

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,最终找到了一个体面的解决方案。

似乎错误是正确的

'c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake'

不是有效的可执行文件。它需要从root ruby​​ / bin文件夹运行rake,在该文件夹中可以找到包装批处理文件。

通过rubygems代码,我发现Gem :: Ext :: RakeBuilder尝试使用

构建扩展
cmd = ENV['rake'] || Gem.bin_path('rake') rescue Gem.default_exec_format % 'rake'

因此,在运行gem install之前简单地将rake环境变量设置为有效的东西应该会有所帮助:

C:\>set rake=c:\ruby-1.8.6-26\bin\rake.bat

C:\>gem install libxml-ruby --no-rdoc --no-ri
Building native extensions.  This could take a while...
Successfully installed libxml-ruby-1.1.3-x86-mswin32-60
1 gem installed

(我跳过安装rdoc和ri,因为它打印出一堆格式化警告,这使得将结果粘贴到此处变得更加困难。)