1

前言:我在 Windows 8 机器上,运行 Ruby 2.0.0。

我最近gamebox为 Ruby 安装了 gem。在安装其所有依赖项的过程中,由于 中的一些 ASCII/Unicode 问题,一些文件(其中包括 file $RUBYHOME/lib/ruby/gems/2.0.0/gems/gosu-0.7.50-x86-mingw32/lib/gosu.for_1_9.so)没有正确构建rdoc,因此被“跳过”。起初我并没有太在意它,但是当我尝试运行gamebox test_game设置新gamebox游戏时,它向我吐出以下消息:

C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:118:in `require': 126: The specified module could not be found.   - C:/Ruby200/lib/ruby/gems/2.0.0/gems/gosu-0.7.50-x86-mingw32/lib/gosu.for_1_9.so (LoadError)
        from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:118:in `rescue in require'
        from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:124:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/gosu-0.7.50-x86-mingw32/lib/gosu.rb:11:in `<top (required)>'
        from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:114:in `require'
        from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:114:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/gamebox-0.5.0/lib/gamebox.rb:5:in `<top (required)>'
        from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66:in  `require'
        from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:66:in  `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/gamebox-0.5.0/bin/gamebox:4:in `<top (required)>'
        from C:/Ruby200/bin/gamebox:23:in `load'
        from C:/Ruby200/bin/gamebox:23:in `<main>'

重要的一点是The specified module could not be found. - C:/Ruby200/lib/ruby/gems/2.0.0/gems/gosu-0.7.50-x86-mingw32/lib/gosu.for_1_9.so

然后我回过头来意识到整个 Unicode 的东西,rdoc按照这个家伙更新到最新版本,然后跑gem uninstall gosugem install gosu. 一切似乎都构建得很好,而且我看到所需的文件 ..../gosu.for_1_9.so就在它需要的位置。

但是,我仍然收到关于无法找到的完全相同的错误gosu.for_1_9.so

我已经能够找到其他人遇到此问题的两个 Google 结果。在一种情况下,这个问题是次要的,因为这个人正在对他的gosu安装进行一些黑客攻击;另一方面,解决方案是“Ruby 2 不好,你应该使用 Ruby 1.9”,这真的不是我的首选。

有任何想法吗?

4

2 回答 2

2

肯,

正在找到该文件,但不兼容在 Ruby 2.0.0 中加载。

这是 Gosu 的错误/缺失功能。它不适用于 Windows 上的 Ruby 2.0.0。gem 的作者已计划解决此问题,但尚未解决。你可以在这里跟进 Github 上的问题:https ://github.com/jlnr/gosu/issues/163

作者可以在#gosu 的freenode IRC 上找到。我相信他们可以在 Windows 支持方面使用一些帮助。不幸的是,在 Windows 上使用 Gamebox 的答案是降级到 Ruby 1.9.3。我将把它添加到 Gamebox wiki。

于 2014-03-07T17:44:24.017 回答
0

我同意@Shawn42

但可能最好的方法是预先安装一个 ruby​​ 版本管理器。

带有 Pik 的 RVM 是我在 Windows 上使用的。

这样你就可以安装旧的 1.9.3 版本的 ruby​​ 并在你想使用 gamebox 时调用 pik 来使用那个版本。您仍将安装 ruby​​ 2.0.0 并准备好用于您的其他项目。

http://www.ruby-on-rails-outsourcing.com/articles/2010/07/28/ruby-version-manager-for-windows/

干杯

于 2014-03-22T19:22:01.293 回答