libxml-ruby на Windows XP проблема - PullRequest
2 голосов
/ 24 апреля 2009

Около месяца назад я установил 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

У меня установлены грабли и win32-api

Затем я запутался, если я действительно установил libxml-ruby на мою машину ранее и попытался удалить и переустановить его. Теперь происходит сбой с тем же сообщением об ошибке на моем компьютере, и некоторые сценарии, которые я написал для анализа xml, которые раньше работали, больше не работают. Кто-нибудь еще пытался установить libxml-ruby в последнее время на Windows XP? Кажется, он полностью сломан.

1 Ответ

4 голосов
/ 05 мая 2009

У меня возникла та же проблема, и в итоге я нашел приличный обходной путь.

Кажется, ошибка верна

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

не является допустимым исполняемым файлом. Необходимо запустить rake из корневой папки ruby ​​/ bin, где находится пакетный файл упаковки.

Покопавшись в коде rubygems, я обнаружил, что Gem :: Ext :: RakeBuilder пытается построить расширения, используя

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

Итак, простая установка переменной среды rake на что-то допустимое перед запуском установки gem должно помочь:

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, потому что он печатает кучу предупреждений о форматировании, что затрудняет вставку результатов сюда.)

...