大约一个月前我安装了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?它似乎完全被打破了。
答案 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,因为它打印出一堆格式化警告,这使得将结果粘贴到此处变得更加困难。)