2012-04-12 12 views
6

Estoy utilizando Windows y me acaba de ejecutar el comando:Ruby on Rails - no se puede instalar SystemTimer

C:\Sites\cmply>gem install SystemTimer -v '1.2.3' 

y me dio este mensaje:

Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
ERROR: Error installing SystemTimer: 
     ERROR: Failed to build gem native extension. 

     C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb 
creating Makefile 

make 
generating system_timer_native-i386-mingw32.def 
compiling system_timer_native.c 
In file included from system_timer_native.c:8:0: 
c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/ruby/backward/rubysig.h:14:2: warning: #warning rubysig.h is obsolete 
system_timer_native.c: In function 'install_first_timer_and_save_original_configuration': 

alguna idea de por qué? Antes de esto tengo otro error sospechoso:

Gem files will remain installed in C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/SystemTimer-1.2.3 for inspection. 
Results logged to C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/SystemTimer-1.2.3/ext/system_timer/gem_make.out 
An error occured while installing SystemTimer (1.2.3), and Bundler cannot continue. 
Make sure that `gem install SystemTimer -v '1.2.3'` succeeds before bundling. 

y antes de que me dieron otro error que parecía indicar que mi versión de Ruby es de alguna manera fuera de sincronía:

C:\Sites\cmply>bundle update rake 
Updating git://github.com/twitter/twitter-text-rb.git 
Fetching source index for http://rubygems.org/ 
Bundler could not find compatible versions for gem "activesupport": 
    In snapshot (Gemfile.lock): 
    activesupport (3.2.3) 

    In Gemfile: 
    rails (= 3.1.3) x86-mingw32 depends on 
     activesupport (= 3.1.3) x86-mingw32 

Running `bundle update` will rebuild your snapshot from scratch, using only 
the gems in your Gemfile, which may resolve the conflict. 

Así es todo arraigada en mí teniendo una versión de rubí incompatible? ¿Cómo se debe resolver esto?

Gracias!

+0

Ruby tiene su clase predeterminada 'Time'. ¿Por qué necesitas otra joya? – uday

+0

¿Podría proporcionar su versión de Ruby? La salida del comando 'ruby -v'. –

+0

@uDaY 'SystemTimer' no es equivalente con la clase' Time', es un pedazo de pastel totalmente diferente. –

Respuesta

3

Inspeccionando la salida dice que estás compilando para Ruby 1.9.3 con los archivos de inclusión de 1.9.1.

Parece que su instalación de Ruby se ha roto de alguna manera. Intentaría volver a instalar el Ruby 1.9.3 y comprobar que los archivos incluidos existen en c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.3/ y no en c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/.

19

No se puede instalar la gema system_timer con ruby ​​1.9, pero no es un error, es una característica. Aquí está el full explanation.

"system_timer is only relevant if you are running Ruby 1.8. You do not need it if you are running Ruby 1.9"

Si está cambiando de Rubí 1.8 a 1.9, basta con quitar la gema system_time y actualizar el código de tratar con los tiempos de espera.