错误在cygwin中安装gem wdm

Luc*_*mug 8 ruby gem cygwin guard

我从cygwin里面安装gem wdm时一直遇到这个错误.有没有人有同样的问题,现在知道解决它.谢谢.(我正在尝试安装Guard gem)

$ gem install wdm
Building native extensions.  This could take a while...
ERROR:  Error installing wdm:
ERROR: Failed to build gem native extension.

    /usr/bin/ruby.exe 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
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H    -ggdb -O2 -pipe   -fno-strict-aliasing   -o entry.o -c entry.c
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H    -ggdb -O2 -pipe   -fno-strict-aliasing   -o memory.o -c memory.c
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H    -ggdb -O2 -pipe   -fno-strict-aliasing   -o monitor.o -c monitor.c
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H    -ggdb -O2 -pipe   -fno-strict-aliasing   -o queue.o -c queue.c
gcc -I. -I/usr/include/ruby-1.9.1/i386-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -DHAVE_WINDOWS_H -DHAVE_RUBY_H -DHAVE_CONST_HAVE_RUBY_ENCODING_H    -ggdb -O2 -pipe   -fno-strict-aliasing   -o rb_change.o -c rb_change.c
rb_change.c: In function ‘extract_absolute_path_from_notification’:
rb_change.c:47:16: error: ‘_MAX_FNAME’ undeclared (first use in this function)
rb_change.c:47:16: note: each undeclared identifier is reported only once for each function it appears in
rb_change.c:47:33: error: ‘_MAX_EXT’ undeclared (first use in this function)
Makefile:206: recipe for target `rb_change.o' failed
make: *** [rb_change.o] Error 1

Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/wdm-0.1.0 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/wdm-0.1.0/ext/wdm/gem_make.out
Run Code Online (Sandbox Code Playgroud)

小智 3

前几天,我的一位同事遇到了 wdm 问题。

\n\n

我们通过下载 Ruby DevKit 修复了这个问题(不确定您是否已经安装了这个)。

\n\n

我在网上找到了一些相当不错的逐步步骤,我将它们粘贴到这里 - 希望它们有所帮助

\n\n

开发套件在这里: http: //rubyinstaller.org/downloads/

\n\n
    \n
  1. 下载开发套件并将其安装在 c:\\devkit 中。
  2. \n
  3. 打开命令窗口并输入 c:。
  4. \n
  5. 通过键入 更改文件夹cd devkit
  6. \n
  7. 键入ruby dk.rb init以生成稍后使用的 config.yml 文件。\n您安装的 Rubies 将在那里列出(目前仅检测到由 RubyInstaller 包安装的那些)。此操作只需执行一次。
  8. \n
  9. 最后输入,ruby dk.rb install为 DevKit 增强您安装的 Rubies。此操作只需执行一次。
  10. \n
\n\n

通过运行以下命令来确认您的 Ruby 环境是否正确使用 DevKit:

\n\n

gem install wdm --platform=ruby

\n\n

\xe2\x80\x99 至关重要的是,您必须包含--platform=ruby强制 RubyGems 构建本机 gem 的选项,而不是可能安装不正确的二进制 gem。

\n