为什么在Windows 8上安装json 1.8.6 gem不起作用?

时间:2017-02-16 19:20:59

标签: ruby-on-rails json ruby windows devkit

我已经克隆了一个Rails应用程序,并试图在我的电脑上安装所有宝石。我正在运行Windows 8.1 x64,我在C:/ devkit上安装了x64 devkit,并使用uru来管理ruby版本,以便我可以使用ruby 2.3.1。

当我运行bundle install或 gem install json -v'1.8.6'-r --source http://rubygems.org/,我得到以下错误日志:

    current directory: C:/Ruby23/lib/ruby/gems/2.3.0/gems/json-1.8.6/ext/json/ext/generator
C:/Ruby23/bin/ruby.exe -r ./siteconf20170216-17824-1b67o5.rb extconf.rb 
creating Makefile

current directory: C:/Ruby23/lib/ruby/gems/2.3.0/gems/json-1.8.6/ext/json/ext/generator
make "DESTDIR=" clean

current directory: C:/Ruby23/lib/ruby/gems/2.3.0/gems/json-1.8.6/ext/json/ext/generator
make "DESTDIR="
generating generator-i386-mingw32.def
compiling generator.c
In file included from c:/Ruby23/include/ruby-2.3.0/ruby.h:33:0,
                 from ../fbuffer/fbuffer.h:5,
                 from generator.c:1:
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:131:14: error: size of array 'ruby_check_sizeof_voidp' is negative
In file included from c:/Ruby23/include/ruby-2.3.0/ruby.h:33:0,
                 from ../fbuffer/fbuffer.h:5,
                 from generator.c:1:
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_obj_freeze_inline':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1360:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1361:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1362:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1362:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_data_object_get':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1400:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_data_object_make':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1414:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_data_typed_object_make':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1421:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_num2char_inline':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1587:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1587:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1587:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1587:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1587:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1587:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1588:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1588:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1588:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_class_of':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1949:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_type':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1966:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
In file included from c:/Ruby23/include/ruby-2.3.0/ruby.h:33:0,
                 from ../fbuffer/fbuffer.h:5,
                 from generator.c:1:
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_clone_setup':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1997:56: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1998:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1999:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1999:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_dup_setup':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2005:42: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2006:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2006:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_array_len':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2012:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2013:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2013:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_array_const_ptr':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2027:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2027:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2027:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_struct_len':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2034:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2035:2: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2035:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h: In function 'rb_struct_const_ptr':
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2041:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2041:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:2041: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:135:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:135:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:135:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:136:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:136:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:136:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'convert_UTF8_to_JSON':
generator.c:233:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:233:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:233:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:234:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:234:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:234:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_s_allocate':
generator.c:551:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_configure':
generator.c:572:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:572:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:572:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:573:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:573:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:573:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:580:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:580:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:580:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:581:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:581:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:581:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:588:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:588:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:588:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:589:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:589:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:589:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:596:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:596:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:596:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:597:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:597:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:597:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:604:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:604:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:604:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:605:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:605:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:605:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'set_state_ivars':
generator.c:655:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:655:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:655:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'generate_json':
generator.c:892:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:892:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:892:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'isArrayOrObject':
generator.c:953:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:953:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:953:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:954:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:954:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:954:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_indent_set':
generator.c:1078:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1078:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1078:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1087:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1087:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1087:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_space_set':
generator.c:1116:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1116:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1116:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1125:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1125:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1125:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_space_before_set':
generator.c:1152:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1152:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1152:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1161:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1161:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1161:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_object_nl_set':
generator.c:1190:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1190:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1190:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1198:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1198:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1198:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c: In function 'cState_array_nl_set':
generator.c:1225:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1225:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1225:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1233:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1233:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
generator.c:1233:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
make: *** [generator.o] Error 1

make failed, exit code 2

我试过了:

  • 安装json_pure并在我的gemfile中指定它以供使用 :mswin& :mingw
  • 运行捆绑包更新
  • 从我的PATH变量
  • 中删除所有空格
  • 浏览devkit故障排除选项here
  • 列表

我还搜索过很多类似的其他SE问题,但one that looks most relevant to my situation仍然没有答案。

关于可能出现什么问题的更多建议?

1 个答案:

答案 0 :(得分:1)

您的平台不匹配。

generating generator-i386-mingw32.def是Ruby的x86版本,您说您使用的是x64 DevKit。