2008-10-03 13 views
5

Estoy intentando instalar la gema starling en mi máquina Windows. Pero, cada vez que intento instalarlo me sale este error:Instalación starling en 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 

¿Qué necesito para instalar para proporcionar la cabecera windows.h?

Respuesta

0

La instalación parece estar bloqueada al instalar la gema eventmachine. El enfoque más fácil aquí puede ser descargar e instalar la gema binaria eventmachine para Windows here

De lo contrario, necesitará un compilador. (que supongo que no tiene)

6

Gems es somewhat broken en Windows en la actualidad fue roto en el momento en Windows, pero él ha fijado ahora. La siguiente solución se aplica a la versión anterior de instalador de un clic de Ruby; debería actualizarse realmente al nuevo RubyInstaller basado en MinGW y al DevKit para el cual la solución alternativa aún funciona, pero es más a prueba de futuro.

  • encontró una versión de la gema problema (en este caso es EventMachine) que tiene un binario Win32. Si nos fijamos en RubyForge, verá que la última joya EventMachine de poseer un binario Win32 es la versión 0.12.0
  • Fuerza esa versión de la máquina evento para instalar:

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

  • Ahora instale trate de instalar el tesoro original de nuevo:

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

Sé Warne sin embargo, si ahora ejecuta gem update, gems intentará estúpidamente instalar la última versión de eventmachine que, como ya sabemos, no se compilará en Windows. Esto hace que la actualización de la gema se detenga por completo. Consulte this question para descubrir cómo trabajar alrededor de este molestia particular.

0

Ahora que todo está instalado, ¿es posible hacerlo funcionar bajo Windows? Tengo una función fork() sin implementar en esta máquina, porque Windows no tiene un proceso fork().

Cuestiones relacionadas