Установка скворец на Windows - PullRequest
5 голосов
/ 03 октября 2008

Я пытаюсь установить скворец на мой компьютер с Windows. Но всякий раз, когда я пытаюсь установить его, я получаю эту ошибку:

Building native extensions.  This could take a while...  
ERROR:  Error installing starling:  
        ERROR: Failed to build gem native extension.  

c:/ruby/bin/ruby.exe extconf.rb install starling -- --srcdir= c:\ruby-1.8.7-p72  
checking for windows.h... no  
*** extconf.rb failed ***  
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:  
        --with-opt-dir  
        --without-opt-dir  
        --with-opt-include  
        --without-opt-include=${opt-dir}/include  
        --with-opt-lib  
        --without-opt-lib=${opt-dir}/lib  
        --with-make-prog  
        --srcdir=.  
        --curdir  
        --ruby=c:/ruby/bin/ruby  

Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/eventmachine-0
.12.2 for inspection.  
Results logged to c:/ruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.2/ext/gem_mak
e.out

Что мне нужно установить, чтобы получить заголовок windows.h?

Ответы [ 4 ]

6 голосов
/ 03 октября 2008

Gems является несколько сломанным в Windows в настоящее время было в то время сломано в Windows, но теперь это исправлено. Следующий обходной путь применяется к старой версии Ruby с помощью One-Click Installer; вам действительно нужно обновить до нового RubyInstaller на базе MinGW и DevKit , к которому обходной путь все еще работает, но более перспективен.

  • Найдите версию проблемного камня (в данном случае это eventmachine ), в которой есть двоичный файл win32. Если вы посмотрите на RubyForge , вы увидите, что последним гемом Eventmachine, обладающим двоичным файлом win32, является версия 0.12.0
  • Принудительно установить эту версию машины событий:

    $ gem install eventmachine --version=0.12.0<br> Successfully installed eventmachine-0.12.0-x86-mswin32<br> 1 gem installed<br> Installing ri documentation for eventmachine-0.12.0-x86-mswin32...<br> Installing RDoc documentation for eventmachine-0.12.0-x86-mswin32...

  • Теперь установите, попробуйте установить исходный гем снова:

    $ gem install starling<br> Successfully installed ZenTest-3.10.0<br> Successfully installed memcache-client-1.5.0<br> Successfully installed SyslogLogger-1.4.0<br> Successfully installed starling-0.9.8<br> 4 gems installed<br> Installing ri documentation for ZenTest-3.10.0...<br> Installing ri documentation for memcache-client-1.5.0...<br> Installing ri documentation for SyslogLogger-1.4.0...<br> Installing ri documentation for starling-0.9.8...<br> Installing RDoc documentation for ZenTest-3.10.0...<br> Installing RDoc documentation for memcache-client-1.5.0...<br> Installing RDoc documentation for SyslogLogger-1.4.0...<br> Installing RDoc documentation for starling-0.9.8...

Будьте осторожны, если вы сейчас запустите gem update, гемы будут тупо пытаться установить последнюю версию eventmachine, которая, как мы уже знаем, не будет работать на Windows. Это приводит к тому, что обновление gem полностью останавливается. См. этот вопрос , чтобы узнать, как обойти это особое раздражение.

0 голосов
/ 13 декабря 2008

Теперь, когда все установлено, возможно ли заставить его работать под Windows? Я получаю функцию fork (), не реализованную на этом компьютере, потому что в Windows нет процесса fork ().

0 голосов
/ 03 октября 2008

Я не знаю, сработает ли это, но кто-то работает над установкой Ruby в Windows одним щелчком мыши, который поставляется с компилятором C.

См. http://github.com/luislavena/rubyinstaller/tree/master

0 голосов
/ 03 октября 2008

Установка, похоже, застряла при установке гема eventmachine. Самым простым подходом здесь может быть загрузка и установка бинарного камня Eventmachine для Windows здесь

В противном случае вам понадобится компилятор. (который, я полагаю, у вас нет)

...