1

最初は gem に問題がありましたが、64 ビットの MySQL をインストールし、gem を arch フラグで再インストールすると、動作するようになりました。

したがって、レールで動作します。私が得たエラーは

uninitialized constant MysqlCompat::MysqlRes

しかし、それはなくなりました:)

ただし、Xcode で RubyCocoa プロジェクトを実行すると、まだ古いエラーが発生します。

uninitialized constant MysqlCompat::MysqlRes

これがなぜなのか誰か知っていますか?

gdbが64ビットだからですか?

RubyCocoaではなく、Railsではどのように機能しますか?

少しデバッグすると、mysql_api.bundle のロードに失敗することがわかります

/Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle: 
dlopen(/Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle, 9): no suitable image found. 
Did find: (LoadError) /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle: mach-o, but wrong architecture - 
/Library/Ruby/Gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
4

2 に答える 2

0

私は同じ問題を抱えていましたが、記憶が正しければ、古い MySQL インストールと関係がありました。うっかり 32 ビット版をインストールしてしまい、間違いに気づいて 64 ビット版をインストールしてしまいました。

ここで説明されているようにMySQLを削除することでエラーを取り除きました:Mac OS XからMySQLをアンインストールし、アーチフラグを使用して最新バージョンを再インストールする方法.

これを試しましたか?

于 2009-12-30T14:02:18.013 に答える
0

問題は、xcode が通常使用している Ruby フレームワークとは別のバージョンを使用している可能性があります。その問題が発生し、何とか解決しました。

ただし、アーキテクチャの不一致は別のものである可能性があります。

/システム/ライブラリ/Frameworks/Ruby.framework

于 2009-11-16T20:14:14.467 に答える