私はruby1.8.7(ネイティブコンパイル済み)、rails 2.3.4、OSX 10.6.2、そしてsqlite3-rubyを入手しました。
Railsアプリにアクセスするときに発生するエラーは
NameError:初期化されていない定数SQLite3 :: Driver :: Native :: Driver :: API
歴史:
FWケーブルを搭載したアプリを古いMacBookから新しいMacBookに移行して、ユキヒョウにアップグレードしました。すべてが数か月間完全に実行されていましたが、昨日、libsqlite3.dylibの「間違ったアーキテクチャ」エラーのためにビルドされなかったrb-appscriptに依存するwatirをインストールする必要がありました。ビルドは古いマシンで行われたと思ったので、sqlite3-rubyを再構築したいと思いました。
$sudogemアンインストールsqlite3-ruby
$ sudo gem install sqlite3-ruby
ネイティブ拡張機能の構築。これにはしばらく時間がかかる場合があります...
エラー:sqlite3-rubyのインストール中にエラーが発生しました:
エラー:gemネイティブ拡張機能のビルドに失敗しました。/usr/local/bin/ruby extconf.rb
-lrtでfdatasync()を
チェックしています...いいえsqlite3.hをチェックしています...はい
-lsqlite3でsqlite3_open()をチェックしています...いいえ
*extconf.rbが失敗しました*
何らかの理由でMakefileを作成できませんでした。おそらく、
必要なライブラリやヘッダーが不足しています。詳細については、mkmf.logファイルを確認して
ください。構成オプションが必要になる場合があります。
sqlite3ライブラリが正しく機能していないようです。macports sqlite3(sudo port install sqlite3)をインストールして代わりに使用しようとしましたが、同じ結果になりました...したがって、sqlite3を最初から再構築します。download-> configure-> make->makeinstall。その後、gemは完全にビルドされますが、Railsでは機能しないため、この記事の上部にエラーがあります。
次のことを試したので、ここからどこに行けばいいのかよくわかりません
- 最新のソースからsqlite3を再構築します(http://www.sqlite.org/download.html)
- sqlite3-rubyを再インストールしました(sudo gem install sqlite3-ruby && sudo gem install sqlite3-ruby)
- macportsからsqlite3を使用しました(sudo port install sqlite3 && sudo gem install sqlite3-ruby)
- railsを再インストールし(sudo gem install rails sqlite3-ruby)、environment.rbをrails2.3.5に更新しました。
いいえ、まだこのエラーが発生します:
NameError:初期化されていない定数SQLite3 :: Driver :: Native :: Driver :: AP
from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:105:in /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:76:in`initialize'から 'open'const_missing'
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.5/lib/sqlite3/driver/native/driver.rb:76:in
ところで、私はSnowLeopardCDからXcodeをインストールしています。
問題を解決するために何ができますか?