1

我刚刚使用命令安装了Sequelsudo macgem install 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语句,测试运行良好。

我试图用谷歌搜索,并在 macruby.org 上找到了以下票

Ticket #930 SIGABRT in MacRuby 0.7 with Sequel + SQLite3-Ruby gem [...] 修复 Sequel 中的 Kernel#require 问题后,我可以毫无问题地加载 Sequel 和 SQLite3。[...] 所需的库是 Sequel(为 Kernel.require 打补丁,而不是 Sequel#self.require 中的 super)和 SQLite3-Ruby。[...]

我在其他任何地方都找不到有关此补丁的任何信息,但是...

有什么已知问题吗?此错误消息是什么意思,以及如何使其工作?

4

4 回答 4

2

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

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

$ /usr/local/bin/macruby -r ruby​​gems -e “需要‘续集’;p 42”
42

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

于 2010-12-03T08:56:57.797 回答
1

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

于 2010-12-03T00:27:09.997 回答
1

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

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

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

于 2010-12-19T19:30:59.613 回答
0

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

于 2010-12-03T08:45:27.890 回答