我刚刚使用命令sudo macgem install sequel
安装了Sequel。它告诉我sequel-3.18.0已成功安装。
当我启动xcode并启动一个新的MacRuby应用程序时,它会为单元测试设置目标。我已使用以下两行修改了stub_test.rb
:
require "rubygems"
require "sequel"
尝试运行单元测试时,出现以下错误:
/Users/.../macRuby Test/Tests/run_suite.rb:1:in `<main>': super: no superclass method `require' for Sequel:Class (NoMethodError)
如果没有两个require
语句,测试运行正常。
我试图谷歌这个,并找到以下ticket on macruby.org:
门票#930 在MacRuby 0.7中使用Sequel + SQLite3-Ruby gem的SIGABRT [...]在续集中修补内核#require问题后,我可以加载Sequel和SQLite3,没有任何问题。 [...]必需的库是Sequel(Patched for Kernel.require,而不是Sequel#self.require中的super)和SQLite3-Ruby。 [...]
我在其他地方找不到任何关于此补丁的内容,但是......
有任何已知问题吗? 这个错误消息意味着什么,以及我如何让它工作?
答案 0 :(得分:2)
你运行的是什么版本的MacRuby?另外,你运行32位Mac?
在我的环境中,运行MacRuby trunk的64位Intel mac,我可以安装并要求续集。
$ /usr/local/bin/macruby -r rubygems -e "require 'sequel'; p 42" 42
正如Eloy所说,最好将MacRuby问题报告给我们的邮件列表或票据trac。 http://www.macruby.org/contact-us.html
答案 1 :(得分:1)
MacRuby(如IronRuby)目前没有使用足够的ruby语言来与Sequel合作。续集在MRI(1.8和1.9),JRuby和Rubinius上进行测试,所以你可以尝试其中一个。
答案 2 :(得分:1)
我遇到similar issues并且能够使用以下组合:
MacRuby 0.8
sqlite3-ruby gem 1.3.2
sequel gem 3.18.0
OSX 10.6.5
诀窍是卸载'sqlite3'宝石并安装'sqlite3-ruby'。
答案 3 :(得分:0)
由于MacRuby仍在大力发展,我认为如果你在MacRuby-devel邮件列表上提出这个问题会更好。那些知道如何让Sequel在MacRuby上工作的人(我知道人们已经这样做了)也在那里。