2013-10-09 111 views
8

從cygwin內部安裝gem wdm時,我總是收到這個錯誤。有沒有人有同樣的問題,現在知道解決它。謝謝。 (我試圖安裝守護寶石)錯誤在cygwin中安裝gem wdm

$ 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 
+0

剛剛遇到類似的問題,試圖在windows機器上安裝guard-rubocop。 'gem install iff'無法建立。 – nifr

回答

3

我的一位同事前幾天與wdm有問題。

我們通過下載Ruby DevKit來修復它(不確定您是否已經安裝了該軟件)。

我發現一些步驟相當不錯的一步在線,我會在這裏把它們粘貼 - 希望他們幫助

開發套件是在這裏:http://rubyinstaller.org/downloads/

  1. 下載開發工具包,並在例如c安裝:\的devkit。
  2. 打開命令窗口並鍵入c :.
  3. 通過鍵入cd devkit來更改文件夾。
  4. 鍵入ruby dk.rb init來生成config.yml文件以供稍後使用。 您安裝的紅寶石將在那裏列出(目前只有通過RubyInstaller軟件包安裝的紅寶石纔會被檢測到)。這隻需要完成一次。
  5. 最後鍵入ruby dk.rb爲DevKit安裝增強您安裝的Rubies。這隻需要完成一次。

確認你的Ruby環境中使用正確的devkit運行:

gem install wdm --platform=ruby

這是至關重要的,你包括--platform =紅寶石選項強制RubyGems的打造本土的寶石,而不是潛在的安裝不正確的二進制寶石。