Ruby 安装错误';波分复用&x27;Windows系统下的gem

Ruby 安装错误';波分复用&x27;Windows系统下的gem,ruby,gem,Ruby,Gem,我在Windows7系统上重新安装了Ruby 2.2.1(32位)。我还安装了devkit,没有报告任何错误。很自然地,我认为我可以安装“wdm”gem,包括: gem install wdm 但是,它出错了。整个输出对发布整个内容来说有点大,因此截断了以下几点 C:/Ruby22/bin/ruby.exe -r ./siteconf20150318-1712-oq5nlb.rb extconf.rb checking for main() in -lkernel32... yes check

我在Windows7系统上重新安装了Ruby 2.2.1(32位)。我还安装了devkit,没有报告任何错误。很自然地,我认为我可以安装“wdm”gem,包括:

gem install wdm
但是,它出错了。整个输出对发布整个内容来说有点大,因此截断了以下几点

C:/Ruby22/bin/ruby.exe -r ./siteconf20150318-1712-oq5nlb.rb extconf.rb
checking for main() in -lkernel32... yes
checking for windows.h... yes
checking for ruby.h... yes
checking for HAVE_RUBY_ENCODING_H... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
generating wdm_ext-i386-mingw32.def
compiling entry.c
In file included from entry.c:1:0:
wdm.h:3:0: warning: "WINVER" redefined [enabled by default]
...
wdm.h:4:0: warning: "_WIN32_WINNT" redefined [enabled by default]
...
warning: #warning Please include winsock2.h before windows.h [-Wcpp]
compiling monitor.c  (this is repeated for multiple *.c files)
...
rb_monitor.o: In function `rb_monitor_run_bang':
C:\Ruby22\lib\ruby\gems\2.2.0\gems\wdm-0.1.0\ext\wdm/rb_monitor.c:508: undefined reference to `rb_thread_blocking_region'
collect2.exe: error: ld returned 1 exit status
make: *** [wdm_ext.so] Error 1

make failed, exit code 2

我错过了什么吗?

wdmgem与2.2不兼容。它调用函数
rb\u thread\u blocking\u region()
,该函数在2.0中被弃用,最终被废弃。此外,宝石不再维护(参见其)

你可以自己进行回购、合并和打造创业板。使用较旧的Ruby版本也可能是一个解决方案

更新:
不久前,
wdm
gem更新为。此版本修复了此错误。

wdm与2.2()@cremno不兼容,这可以解释它。谢谢,如果你想发布一个答案,我会接受。只要确保Ruby和DevKit版本匹配即可。例如,Ruby 1.9.3和DevKit 4.5.2-20111229。现在正在重新维护gem,这个问题可以通过