MacRuby,使用续集时出错

我刚刚使用命令sudo macgem install sequel安装了Sequel 。 它告诉我sequel-3.18.0已成功安装。

当我启动xcode并启动新的MacRuby应用程序时,它会为unit testing设置目标。 我用以下两行修改了stub_test.rb

 require "rubygems" require "sequel" 

尝试运行unit testing时,出现以下错误:

 /Users/.../macRuby Test/Tests/run_suite.rb:1:in `': super: no superclass method `require' for Sequel:Class (NoMethodError) 

没有两个require语句,测试运行正常。

我试图谷歌这个,并在macruby.org上找到以下票 :

机票#930 SIGABRT在MacRuby 0.7中使用Sequel + SQLite3-Ruby gem […]在Sequel修补内核#require问题后,我可以加载Sequel和SQLite3,没有任何问题。 […]必需的库是Sequel(Patched for Kernel.require,而不是Sequel#self.require中的super)和SQLite3-Ruby。 […]

我在其他地方找不到关于这个补丁的任何信息,不过……

有没有已知的问题? 这个错误消息意味着什么,以及我如何让它工作?

您运行的是什么版本的MacRuby? 另外,你运行32位Mac?

在我的环境中,运行MacRuby trunk的64位Intel mac,我能够安装并要求续集。

 $ / usr / local / bin / macruby -r ruby​​gems -e“require'seququel'; p 42”
 42

正如Eloy所说,最好将MacRuby问题报告给我们的邮件列表或票据trac。 http://www.macruby.org/contact-us.html

MacRuby(如IronRuby)目前没有实现足够的ruby语言来与Sequel合作。 续集在MRI(1.8和1.9),JRuby和Rubinius上进行了测试,因此您可以尝试其中之一。

我遇到了类似的问题 ,并能够使用以下组合:

 MacRuby 0.8 sqlite3-ruby gem 1.3.2 sequel gem 3.18.0 OSX 10.6.5 

诀窍是卸载’sqlite3’gem并安装’sqlite3-ruby’。

由于MacRuby仍在大力发展,我认为如果你在MacRuby-devel邮件列表中提出这个问题会更好。 那些知道如何让Sequel在MacRuby上工作的人(我知道人们已经这样做了)也在那里。