5

我是 ROR 的新手,我正在尝试安装 DevKit,但我遇到了一些错误。我使用 Win7-64bit 并安装了 DevKit-mingw64-64-4.7.2-20130224-1432-sfx。我按照github中的安装。老实说,错误并不清楚,我不知道应该怎么做才能解决问题。

 C:\Devkit>type config.yml
 This configuration file contains the absolute path locations of all
 installed Rubies to be enhanced to work with the DevKit. This config
 file is generated by the 'ruby dk.rb init' step and may be modified
 before running the 'ruby dk.rb install' step. To include any installed
 Rubies that were not automagically discovered, simply add a line below
 the triple hyphens with the absolute path to the Ruby root directory.

Example:
--
- C:/ruby19trunk
- C:/ruby192dev
--
c:/Ruby22

然后

C:\Devkit>ruby dk.rb install

[INFO] Skipping existing gem override for '    c:/Ruby22'
[WARN] Skipping existing DevKit helper library for '    c:/Ruby22'

C:\Devkit>gem install json --platform=ruby   
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing json:
ERROR: Failed to build gem native extension.

c:/Ruby22/bin/ruby.exe -r ./siteconf20150524-7692-son84q.rb extconf.rb

creating Makefile    
make "DESTDIR=" clean
make "DESTDIR="

   generating generator-i386-mingw32.def
   compiling     generator.c
   In file included from     c:/Ruby22/include/ruby-2.2.0/ruby.h:33:0,
   from ../fbuffer/fbuffer.h:5,
   from     generator.c:1:
   c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:111:14: error: size of array 'ruby_chec
   k_sizeof_voidp' is negative
   In file included from     c:/Ruby22/include/ruby-2.2.0/ruby.h:33:0,
   from ../fbuffer/fbuffer.h:5,
   from     generator.c:1:

c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_obj_freeze_inline':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1156:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1157:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1158:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1158:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_data_object_get':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1192:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_obj_written':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1271:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1271:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_num2char_inline':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1344:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1345:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_class_of':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1670:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h: In function 'rb_type':
c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:1687:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

In file included from     generator.c:1:0:
../fbuffer/fbuffer.h: In function 'fbuffer_append_str':
../fbuffer/fbuffer.h:127:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
../fbuffer/fbuffer.h:127:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
../fbuffer/fbuffer.h:127:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

generator.c: In function 'convert_UTF8_to_JSON_ASCII':
generator.c:129:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:129:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:129:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:130:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:130:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:130:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'convert_UTF8_to_JSON':
generator.c:227:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:227:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:227:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:228:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:228:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:228:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_configure':
generator.c:559:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:559:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:559:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:560:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:560:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:560:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:567:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:567:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:567:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:568:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:568:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:568:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:575:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:575:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:575:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:576:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:576:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:576:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:583:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:583:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:583:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:584:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:584:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:584:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:591:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:591:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:591:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:592:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:592:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:592:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'set_state_ivars':
generator.c:640:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:640:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:640:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:642:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:642:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:642:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'generate_json_object':
generator.c:727:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:727:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:727:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'generate_json_array':
generator.c:773:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:773:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:773:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'isArrayOrObject':
generator.c:930:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:930:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:930:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:931:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:931:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:931:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_indent_set':
generator.c:1055:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1055:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1055:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1064:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1064:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1064:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_space_set':
generator.c:1093:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1093:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1093:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1102:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1102:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1102:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_space_before_set':
generator.c:1129:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1129:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1129:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1138:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1138:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1138:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_object_nl_set':
generator.c:1167:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1167:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1167:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1175:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1175:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1175:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_array_nl_set':
generator.c:1202:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1202:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1202:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1210:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1210:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1210:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in     c:/Ruby22/lib/ruby/gems/2.2.0/gems/json-1.8.2
for inspection.
Results logged to     c:/Ruby22/lib/ruby/gems/2.2.0/extensions/x86-mingw32/2.2.0/jso
n-1.8.2/gem_make.out
4

1 回答 1

10

我遇到了同样的错误,我使用 32 位版本的 devkit 解决了它。

尽管我正在运行的操作系统似乎是 Windows 7 64 位,但来自 Ruby 安装程序的 Ruby 安装似乎是 32 位的,如下所示:

C:\>ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [i386-mingw32]

使用 32 位 devkit ( DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe) 似乎对我有用。

于 2015-09-30T13:02:14.567 回答