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 rubygems -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上工作的人(我知道人们已经这样做了)也在那里。