1

コマンドを使用してSequelをインストールしましたsudo macgem install sequel。それは、sequel-3.18.0 が正常にインストールされたことを示しています。

xcode を起動して新しいMacRubyアプリケーションを起動すると、単体テストのターゲットが設定されます。stub_test.rb次の2行で変更しました。

require "rubygems"
require "sequel"

単体テストを実行しようとすると、次のエラーが発生します。

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

2 つのステートメントがなくてもrequire、テストは正常に実行されます。

これをグーグルで検索してみたところ、macruby.org で次のチケットが見つかりました。

チケット #930 Sequel + SQLite3-Ruby gem を使用した MacRuby 0.7 の SIGABRT [...] Sequel の Kernel#require の問題にパッチを適用した後、問題なく Sequel と SQLite3 の両方をロードできます。[...] 必要なライブラリは Sequel (Sequel#self.require の super の代わりに Kernel.require にパッチを適用) と SQLite3-Ruby です。[...]

ただし、このパッチについては他に何も見つかりません...

既知の問題はありますか? このエラー メッセージの意味と、これを機能させるにはどうすればよいですか?

4

4 に答える 4

2

MacRuby のどのバージョンを実行していますか? また、32ビットのMacを実行していますか?

私の環境では、MacRuby トランクを実行する 64 ビット Intel mac で、続編をインストールして要求することができます。

$ /usr/local/bin/macruby -r ruby​​gems -e "require 'sequel'; p 42"
42

Eloy が言ったように、代わりにメーリング リストまたはチケット トラックに MacRuby の問題を報告することをお勧めします。http://www.macruby.org/contact-us.html

于 2010-12-03T08:56:57.797 に答える
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 に答える
1

MacRuby (IronRuby と同様) は現在、Sequel で動作する十分な Ruby 言語を実装していません。Sequel は MRI (1.8 および 1.9)、JRuby、および Rubinius でテストされているため、いずれかを試すことができます。

于 2010-12-03T00:27:09.997 に答える
0

MacRuby はまだ開発途上にあるので、MacRuby-devel メーリングリストでこの質問をした方が良いと思います。Sequel を MacRuby で動作させる方法を知っている人もいます (私は人々がそうしていることを知っています)。

于 2010-12-03T08:45:27.890 に答える