2014-05-23 18 views
0

包含許多技術包的軟件包已交付給我。當我嘗試使用bundle install --local安裝軟件包時,顯示錯誤,表明事件機未正確安裝,並建議應該運行gem install eventmachine -v '1.0.3'。當我這樣做時顯示的folloing消息:紅寶石事件機器無法安裝

$ gem install eventmachine 
Fetching: eventmachine-1.0.3.gem (100%) 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
ERROR: Error 

installing eventmachine: 
    ERROR: Failed to build gem native extension. 

c:/Ruby200-x64/bin/ruby.exe extconf.rb 
checking for main() in -lssl... no 
checking for rb_trap_immediate in ruby.h,rubysig.h... no 
checking for rb_thread_blocking_region()... yes 
checking for inotify_init() in sys/inotify.h... no 
checking for __NR_inotify_init in sys/syscall.h... no 
checking for writev() in sys/uio.h... no 
checking for rb_wait_for_single_fd()... yes 
checking for rb_enable_interrupt()... no 
checking for rb_time_new()... yes 
checking for windows.h... yes 
checking for winsock.h... yes 
checking for main() in -lkernel32... yes 
checking for main() in -lrpcrt4... yes 
checking for main() in -lgdi32... yes 
creating Makefile 

make "DESTDIR=" 
generating rubyeventmachine-x64-mingw32.def 
compiling binder.cpp 
In file included from c:\ruby200-x64\devkit\mingw\bin\../lib/gcc/x86_64-w64-ming 
w32/4.7.2/../../../../x86_64-w64-mingw32/include/process.h:12:0, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby/win32.h:60, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby/defines.h:153, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby/ruby.h:70, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby.h:33, 
       from em.h:24, 
       from project.h:150, 
       from binder.cpp:20: 
c:\ruby200-x64\devkit\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../ 
x86_64-w64-mingw32/include/sys/types.h:68:16: error: conflicting declaration 'ty 
pedef _pid_t pid_t' 
In file included from binder.cpp:20:0: 
project.h:97:13: error: 'pid_t' has a previous declaration as 'typedef int pid_t 
' 
In file included from project.h:151:0, 
       from binder.cpp:20: 
ed.h: In member function 'void EventableDescriptor::SetSocketInvalid()': 
ed.h:43:40: warning: overflow in implicit constant conversion [-Woverflow] 
make: *** [binder.o] Error 1 


Gem files will remain installed in c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/event 
machine-1.0.3 for inspection. 
Results logged to c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/ext 
/gem_make.out 

的gem_make.out裏面以下文本顯示:

c:/Ruby200-x64/bin/ruby.exe extconf.rb 
checking for main() in -lssl... no 
checking for rb_trap_immediate in ruby.h,rubysig.h... no 
checking for rb_thread_blocking_region()... yes 
checking for inotify_init() in sys/inotify.h... no 
checking for __NR_inotify_init in sys/syscall.h... no 
checking for writev() in sys/uio.h... no 
checking for rb_wait_for_single_fd()... yes 
checking for rb_enable_interrupt()... no 
checking for rb_time_new()... yes 
checking for windows.h... yes 
checking for winsock.h... yes 
checking for main() in -lkernel32... yes 
checking for main() in -lrpcrt4... yes 
checking for main() in -lgdi32... yes 
creating Makefile 

make "DESTDIR=" 
generating rubyeventmachine-x64-mingw32.def 
compiling binder.cpp 
In file included from c:\ruby200-x64\devkit\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/include/process.h:12:0, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby/win32.h:60, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby/defines.h:153, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby/ruby.h:70, 
       from c:/Ruby200-x64/include/ruby-2.0.0/ruby.h:33, 
       from em.h:24, 
       from project.h:150, 
       from binder.cpp:20: 
c:\ruby200-x64\devkit\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/include/sys/types.h:68:16: error: conflicting declaration 'typedef _pid_t pid_t' 
In file included from binder.cpp:20:0: 
project.h:97:13: error: 'pid_t' has a previous declaration as 'typedef int pid_t' 
In file included from project.h:151:0, 
       from binder.cpp:20: 
ed.h: In member function 'void EventableDescriptor::SetSocketInvalid()': 
ed.h:43:40: warning: overflow in implicit constant conversion [-Woverflow] 
make: *** [binder.o] Error 1 

任何人都得到了什麼,這可能是一個線索?

我已經在DevKit上安裝了ruby 2.0.0。無論是在64位版本。

+1

除了這個問題,你應該真的使用基於Unix的系統來運行rails。對於開發窗口可能工作,但你真的不能真正在Windows上生產軌道。 – davidb

+0

@GraemeMcLean現在嘗試了一個,但它似乎弄亂了與捆綁軟件有關的事情。現在,當我嘗試捆綁安裝--local時,捆綁器沒有找到所需的gemfile。 –

+0

@davidb:捆綁軟件在Mac上使用之前,找到了我。我所需要做的只是安裝所需的寶石(指南針,sass,中間人等)來渲染標記,之後我可以再次刪除它。我需要一個快速的解決方法。 –

回答

0

的問題與線程幫助解決了@GraemeMcLean在評論中提到以上(Eventmachine gem install fail) 這是一個奇怪的解決辦法雖然和創業板的作者確實應該解決這個問題。