2008-10-03 5 views
5

J'essaie d'installer la gemme Starling sur mon ordinateur Windows. Mais, chaque fois que j'essaie de l'installer je reçois cette erreur:Installation de Starling sous 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 

Que dois-je installer pour fournir l'en-tête windows.h?

Répondre

0

L'installation semble être bloquée lors de l'installation de la gemme eventmachine. L'approche la plus simple ici peut être de télécharger et d'installer le gemme binaire eventmachine pour les fenêtres here

Sinon, vous aurez besoin d'un compilateur. (que je suppose que vous n'avez pas)

6

Gems est- somewhat broken sur Windows à l'heure actuelle était au moment cassé sous Windows, mais il est maintenant fixé. La solution de contournement suivante s'applique à l'ancienne version du programme d'installation One-Click de Ruby; vous devriez vraiment mettre à jour le nouveau RubyInstaller basé sur MinGW et le DevKit auquel la solution de contournement fonctionne toujours, mais est plus à l'épreuve du futur.

  • Situer une version de la pierre précieuse de problème (dans ce cas, il est eventmachine) qui a un binaire win32. Si vous regardez sur RubyForge, vous verrez que le dernier petit bijou de eventmachine de posséder un binaire win32 est une version 0.12.0
  • Force de cette version de la machine d'événement pour installer:

    $ 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...

  • Maintenant, installez essayez d'installer à nouveau votre petit bijou d'origine:

    $ 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...

Soyez Warne Mais si vous lancez maintenant gem update, les gemmes essaieront stupidement d'installer la dernière version de eventmachine qui, comme nous le savons déjà, ne sera pas construite sur Windows. Cela provoque la mise à jour de gemme pour arrêter complètement. Voir this question pour savoir comment contourner ce particulièrement ennuyeux.

0

Maintenant que tout est installé, est-il possible de le faire fonctionner sous Windows? Je reçois une fonction fork() non implémentée sur cette machine, car Windows n'a pas de processus fork().