2012-04-12 4 views
6

Я использую окна, и я просто выполнил команду:Рубин на рельсы - не может установить SystemTimer

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

и я получил эту ошибку:

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

Любая идея, почему? До этого я получил еще одну подозрительную ошибку:

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. 

и до этого я получил еще одну ошибку, которая, казалось, чтобы указать, что мой рубин версия как-то из синхронизации:

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. 

Так это все внедренный у меня есть несовместимая рубиновая версия? Как это можно решить?

Спасибо!

+0

Ruby имеет класс 'Time' по умолчанию. зачем вам нужен другой камень? – uday

+0

Не могли бы вы предоставить свою версию Ruby? Выход команды 'ruby -v'. –

+0

@uDaY 'SystemTimer' не эквивалентен классу' Time', это совершенно другой кусок пирога. –

ответ

3

Осмотрев вывод, он говорит, что вы строите для Ruby 1.9.3 с включенными файлами 1.9.1.

Похоже, что ваша установка Ruby как-то сломана. Я бы попытался переустановить Ruby 1.9.3 и проверить, что файлы include существуют в c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.3/, а не в c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/.

19

Вы не можете установить системный камень с ruby ​​1.9, но это не ошибка, это особенность. Вот 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"

Если вы перешли от Ruby 1.8 до 1.9, просто удалите system_time камень и обновлять код работы с тайм-аута.