所以,我有一个小 Ruby 程序,它是一个简单的“Hello World”——代码如下
require 'ray'
Ray.game 'Hello world!', :size => [800, 600] do
register { add_hook :quit, method(:exit!) }
scene :hello do
@text = text 'Hello, Ruby!', :angle => 30, :at => [100, 100], :size => 30
render { |win| win.draw @text }
end
scenes << :hello
end
它在我的 Win7-32 位机器上运行良好。然而,当我将完全相同的程序带到我的 Win7-64 位机器上时,Ruby 解释器吐出以下消息:
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 127:
The specified procedure could not be found. - C:/Ruby193/lib/ruby/gems/1.9.1
/gems/ray-0.2.0/lib/ray_ext.so (LoadError)
从错误消息来看,似乎缺少“ray_ext.so”,但实际上它就在那里:
两台 PC 都安装了完全相同的 Ruby (1.9.3) 版本,并且安装了完全相同的 gems 列表,但是为什么完全相同的程序在 32 位 Win7 上运行良好,但在 64 位 Win7 上却失败了?
我尝试再次重新安装 gem (ray),以及更新 gem 列表,但这并没有解决问题。从我从网上发现的情况来看,这似乎是一个“dll”链接问题(如果我错了,请纠正我),但我不知道如何解决它(对不起,我还是个菜鸟Ruby),除了重新安装 gem - 这不起作用。
还有什么我可以尝试的吗?您认为这纯粹是gem的问题(与Win7-64位不兼容)吗?
谢谢您的帮助。