libxml-ruby on problema do Windows XP
-
13-09-2019 - |
Pergunta
Cerca de um mês atrás eu instalado libxml-ruby usando gem install libxml-ruby e funcionou muito bem. Então eu fui para instalá-lo em outra máquina hoje e ele falhou com este erro:
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
Eu tenho ancinho instalado e win32-api
Então eu fiquei confuso se eu tivesse realmente instalado libxml-ruby na minha máquina anteriormente e tentou desinstalar e reinstalar-lo. Ele agora falhar com a mesma mensagem de erro na minha máquina e alguns scripts que eu escrevi para xml de análise, que costumava trabalhar, não funcionam mais. Tem mais alguém tentou instalar libxml-ruby recentemente no Windows XP? Parece ser completamente quebrado.
Solução
Eu tenho o mesmo problema, e acabou descobrindo um trabalho digno-around.
Parece que o erro está correto
'c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake'
não é um executável válido. Ele precisa ser executado ancinho da pasta rubi root / bin, em que o arquivo de lote de embrulho pode ser encontrado.
Vasculhando o código rubygems, descobri que Gem :: Ext :: RakeBuilder tenta extensões de construir usando
cmd = ENV['rake'] || Gem.bin_path('rake') rescue Gem.default_exec_format % 'rake'
Assim, simplesmente definindo a variável de ambiente ancinho para algo válido antes de executar o gem install deve ajudar:
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
(eu saltei instalar rdoc e ri porque ele imprime um monte de formatação avisos, tornando mais difícil para colar os resultados em aqui.)