【问题标题】:Why does installing Ruby on Rails generate error "size of array 'ruby_check_sizeof_voidp' is negative"?为什么安装 Ruby on Rails 会生成错误“数组 'ruby_check_sizeof_voidp' 的大小为负数”?
【发布时间】:2013-03-10 08:28:02
【问题描述】:

在安装 Ruby on Rails(通过gem install rails)时,您可能会收到以下错误消息:

c:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:109:14: error: size of array 'ruby_check_sizeof_voidp' is negative

还会有很多这样的警告:

c:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:1333:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

还有一个错误

c:/Ruby193/include/ruby-1.9.1/ruby/missing.h:41:8: error: redefinition of 'struct timespec'

为什么会发生这种情况,如何才能成功安装 Rails?

【问题讨论】:

    标签: ruby-on-rails ruby windows


    【解决方案1】:

    当您为您的 Ruby 版本安装了错误的 DevKit 版本时会发生这种情况,例如,如果您将 DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe 安装到 Ruby 版本 1.9.3 中。

    要解决此问题,请重新安装 Ruby 并为您的 Ruby 版本安装正确的 DevKit,如标题为“哪个开发工具包?”的部分所示。在http://rubyinstaller.org/downloads

    【讨论】:

    • 为我解决这个问题节省了另一个小时 - 谢谢哈利!
    • 如果你确实下载了正确版本的DevKit,但你之前安装了其他版本(只要你通过了step 4)你可能想尝试触发<DEVKIT_INSTALL_DIR>\ruby dk.rb init --force(在init 步骤中准备的不仅仅是config.yml
    • 谢谢,您的回答帮助了我。干杯。
    • 位版本(32 或 64)也需要匹配 ;)
    • 您可以通过以下方式检查您拥有的 Ruby 版本:$ irb 然后['foo'].pack('p').size。 64 位 8 个,32 位 4 个。来源 - ruby-forum.com/topic/177435
    猜你喜欢
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多