質問

私はruby1.8.7(ネイティブデータ、レール2.3.4、幅10.6.2もsqlite3-rubyなどがある。

エラーのいっぱいでアクセスする場合レールアプリ

の定義がどこにも:初期化されていない一定のSQLite3::ドライバー::ネイティブ::ドライバー::API

歴史:
Iアsnow leopardによる移動マアプリFW-ケーブルから自分のmacbookの新します。また走行にもピッタリで、昨日のためのイwatir、依rb-appscript km圏の構築により、"間違ったアーキテクチャ"にエラー libsqlite3.dylib.きっかけになるかもしれないとの構築について、従来不明であった古い機械そのための再構築sqlite3-ruby

$須藤逸品をアンインストールsqlite3-ルビー

$須藤逸品トsqlite3-ルビー

テーブル拡張子.これでしばらく時間がかか...
エラー:エラーの設置sqlite3-ruby
エラー:失敗をネイティブの逸品です。

/usr/local/bin/ruby extconf.rb
チェックfdatasync()にlrt...no
チェックsqlite3.h...あり
チェックsqlite3_open()にlsqlite3...no
*extconf.rbに失敗した*
なMakefileにより何らかの理由でしょうが
必要な図書館および/またはツールを提供します。チェックをmkmf.ログファイルの詳し
ます。必要な設定します。

しょうがない、sqlite3lib仕事をしていない。私たイmacports sqlite3(sudo portイsqlite3そも同様の結果となります...い再建sqlite3から..ダウンロード->設定->make->makeインストールします。その後は、gem現在のビルド完璧な仕事に、レールのエラーのトップです。

んないですけどこへ行くはこちらからでたって、以下の

  1. 再sqlite3から最新のソース(http://www.sqlite.org/download.html)
  2. 再sqlite3-ルビー(須藤逸品をアンインストールsqlite3-ルビー&&須藤逸品トsqlite3-ルビー)
  3. 使用sqlite3からmacports(sudo portイsqlite3&&須藤逸品トsqlite3-ルビー)
  4. 再レール(須藤逸品トレールsqlite3-ルビー)と更新されます。rbをレール2.3.5.

無いのもこのエラー:

の定義がどこにも:初期化されていない一定のSQLite3::ドライバー::ネイティブ::ドライバー::AP
から/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/依存関係.rb:105: const_missing'
from /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.5/lib/sqlite3/driver/native/driver.rb:76:in
オープン"
から/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ルビー-1.2.5/lib/sqlite3/データベースです。rb:76:in`を初期化'

ちなみに、私はXcodeを設置からのSnow Leopardです。

めにどうしたらいいのだろうか問題を解決するか

役に立ちましたか?

解決 2

の答えなのです。ここには何とか解決の問題:

  1. 完全再インストールのruby1.8.7/usr/localについてはこちらをご覧下さい。: http://hivelogic.com/articles/ruby-rails-leopard

    注意:readlineの効きが悪かったですが再コンパイルを伴ruby on my macので、こことここが大いに参考になったことも一から追加してください、--with-readline-dirオプションを設定す:

    ./configureの--enable-共有--enable-pthread CFLAGS=-D_XOPEN_SOURCE=1--prefix=/usr/local--with-readline-dir=/usr/local

  2. 完全再インストールのsqlite3の/usr/local

  3. 再構築すべての宝石は、システムの須藤逸品トXXX、sqlite3-rubyなどがある。これは必要なプラットフォームならではの継続課金は期間の期限がないのでしょうめだけに置かoneliner:

    須藤逸品トgem1gem2...gemN--no-ri--no-rdoc

たとruby1.9も止まりにより壊れた依存関係にエンゲージプラグインがいかに変更されることをお薦めし1.9ない限り、一重のデバッグやノウハウをどのように回復旧システム"!

最後にも走る!

他のヒント

私の問題は、わずかに異なっていた、実際に私がオンラインで見つけソリューションの非が働いています。

のSnow LeopardとXcode 4.0裁判へのアップグレード後にsqlite3のルビーをインストールしようとすると、私はメッセージを得た。

checking for sqlite3.h... yes
checking for sqlite3_libversion_number() in -lsqlite3... no
sqlite3 is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel'

しかしsqlite3のインストールされていた、とも再インストール助けにはなりませんでした。私はすでに64ビットおよびユニバーサルバージョンと前troubルを持っていましたが、私は同様にクリアしていたこと。 実際に、私はsqlite3のに仕事ができるます。

だから、宝石をインストールまた、これらの線に沿って何かを伝える必要があります:

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.3.1 for inspection.

そのディレクトリにcdだからとextconf.rbはそこに見て、鉱山は./ext/sqlite3/extconf.rbにありました 私はルビーを使用してsqlite3のライブラリーのためにチェックしていたことがわかった。

asplode('sqlite3') unless find_library 'sqlite3', 'sqlite3_libversion_number'

だから私は、IRBを解雇し、これが機能しなかった理由を確認します:

  require 'mkmf'
   find_library 'sqlite3', 'sqlite3_libversion_number'

まあ、実際にはこの作品と私のルビーは、ライブラリを見つけます。 では、なぜそれがセットアップから動作しませんか? extconf.rbは密接に次の行を示した検査ます:

  sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr'])
私はIRBでこれを実行する

require 'mkmf'
  sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr']) 
  find_library 'sqlite3', 'sqlite3_libversion_number'

私は驚くほどもうライブラリを見つけることができません。実際、私はこれがいかに理解していないが、それは何が起こるかです。

これは治療法です。 行をコメントアウトします。

sqlite = dir_config('sqlite3', ['/usr/local', '/opt/local', '/usr'])
extconf.rbは

/Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.3.1私が発行した後から

 sudo ruby ./setup.rb

このは問題なく通過した(私はsqliteの=行をコメントアウトする前に試みたが、それは仕事しませんでした)。

sqliteのに問題がありましたRubyアプリケーションを再起動。 作品罰金ます。

・ホープ、この意志の助け誰かます。

アイスクリーム

私がドン・パークのブログで、この上でいくつかのガイダンスを見つけます:

ます。http:// blog.docuverse.com/2009/09/24/installing-sqlite3-ruby-gem-on-snow-leopard/する

次のスレッドのスタックオーバーフローに彼の解決策ポイントすぐに戻ってます:

Snow Leopardは、sqlite3の-ルビー

lnコマンドについての答えは私の問題を解決しているようです。それはあまりにもあなたのお役に立てば幸いです。

宝石が構築されていない場合は、ソースからsqlite3のを再構築することができますが、sqlite3の開発ライブラリが必要になります宝石を構築するために必ずしも必要があるため、

そうではありません。

あなたがやってそれらをインストールすることができ、ほとんどのLinux / Unixシステムでは「須藤はapt-getをsqlite3の-devのインストール」しかし、私は確信して、それはMacPortsをしてどのように動作するかないんだけど、 - しかし、あなたはそのパッケージがあることを確認してください。あなたは、彼らが(それを行うためのオプションのようなヒントのための宝石の出力を参照してください)あなたのパスにいるか、あなたが宝石をインストールするとき、彼らはにいるディレクトリをパスにする必要があります。

私は両方の1.8.7と今、私の更新1.9.1のRubyで、うまく私のMac上のsqlite3のランニングを持っています。あなたはXcodeデベロッパツールがうまくとしてインストールされていることを確認したい場合があります。

Snow Leopardの64上のものとなるため、このmacportをインストールし、この問題は私のために問題を修正しました。

sudo port install rb-sqlite3 +universal
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top