2012-04-12 7 views
6

ich Windows benutze und ich lief nur den Befehl:Ruby on Rails - nicht installieren SystemTimer

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

und ich habe diesen Fehler:

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': 

eine Idee, warum? Vor dieser Zeit bekam ich einen anderen verdächtigen Fehler:

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. 

und vor bekam ich einen anderen Fehler, dass meine Ruby-Version irgendwie zu zeigen schien nicht synchron ist:

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. 

So ist es rooted in mir eine inkompatible Rubinversion? Wie soll das gelöst werden?

Danke!

+0

Ruby hat die Standardklasse 'Time'. Warum brauchst du ein anderes Juwel dafür? – uday

+0

Können Sie Ihre Ruby-Version bereitstellen? Die Ausgabe des Befehls 'ruby -v'. –

+0

@uDaY 'SystemTimer' ist nicht äquivalent zur' Time' Klasse, es ist ein ganz anderes Stück Kuchen. –

Antwort

3

Untersuchen Sie die Ausgabe, die Sie für Ruby 1.9.3 mit den Include-Dateien von 1.9.1 erstellen.

Es sieht so aus, als wäre Ihre Ruby-Installation irgendwie kaputt. Ich würde versuchen, die Ruby 1.9.3 neu zu installieren und zu überprüfen, dass die Include-Dateien in c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.3/ und nicht in c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/ vorhanden sind.

19

Sie können nicht System_timer Juwel mit Ruby 1.9 installieren, aber es ist kein Fehler, es ist eine Funktion. Hier ist die 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"

Wenn Sie sich von Ruby 1,8 bis 1,9 Schalen, entfernen Sie einfach das system_time Juwel und Code aktualisiert mit Timeouts zu tun.