2012-01-06 14 views
1
はMac OS X 10.5.8(Leopardの) ルビー1.9.3p0 宝石のバージョン1.8.14 sqlite3のバージョン3.7.9

は、Mac OS X 10.5.8(Leopardの)上でsqlite3の宝石をインストールすることはできません

Iを使用して

Xcode 3.1.4もインストールされています(これが宝石のインストールに使用されているかどうか不明)。

私は

gem unpack sqlite3-1.3.5.gem 

それを解凍され、新しいディレクトリに

ruby setup.rb config 
0を実行し
cd sqlite3-1.3.5 

をcd'edその後

gem fetch sqlite3 

sqlite3の宝石をフェッチ「私はおよそ読み宝石のREADME.rdocファイルで

usernamemac:sqlite3 username$ make 
compiling backup.c 
compiling database.c 
database.c: In function 'initialize': 
database.c:47: error: 'SQLITE_OPEN_READWRITE' undeclared (first use in this function) 
database.c:47: error: (Each undeclared identifier is reported only once 
database.c:47: error: for each function it appears in.) 
database.c:47: error: 'SQLITE_OPEN_CREATE' undeclared (first use in this function) 
database.c:79: error: 'SQLITE_OPEN_READONLY' undeclared (first use in this function) 
database.c:81: warning: implicit declaration of function 'sqlite3_open_v2' 
database.c: In function 'set_sqlite3_func_result': 
database.c:285: error: 'sqlite3_int64' undeclared (first use in this function) 
database.c:285: error: syntax error before 'long' 
make: *** [database.o] Error 1 

は、次に内線/ sqlite3の

にcd'ed、その後、これが次のエラーメッセージを返して

作る実行しましたSQLite_ENABLE_COLUMN_METADATAオプションを有効にします(詳細はwww.sqlite.org/compile.htmlを参照)。しかし、何をすべきか理解できませんでした。

誰も私は、この問題を解決する助けてくださいことはできますか?

私は、このような Error with MySql while doing Bundle InstallI can't install sqlite3 gemなどの他の方法を試してみましたが、これらは私のために動作しませんでした。

アップデート:私は

rails new app1 -d mysql 

create vendor/plugins/.gitkeep 
run bundle install 
/Users/username/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/generators/app_base.rb:232: warning: Insecure world writable dir /usr/local in PATH, mode 040777 
/Users/username/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler.rb:209: warning: Insecure world writable dir /usr/local in PATH, mode 040777 
Fetching source index for http://rubygems.org/ 
Installing rake (0.9.2.2) 
... 
Installing jquery-rails (1.0.19) 
Installing mysql2 (0.3.11) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /Users/username/.rbenv/versions/1.9.3-p0/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes 
checking for rb_wait_for_single_fd()... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lm... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lz... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lsocket... no 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lnsl... no 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lmygcc... no 
checking for mysql_query() in -lmysqlclient... no 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    ... (list of switches) 

Gem files will remain installed in /Users/username/a/app1/vendor/bundle/gems/mysql2-0.3.11 for inspection. 
Results logged to /Users/username/a/app1/vendor/bundle/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 
An error occured while installing mysql2 (0.3.11), and Bundler cannot continue. 
Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling. 

をしようとしたとき、私はすでに宝石mysql2(0.3.11)がインストールされている同様の問題を抱えています。

アップデート2:あなたは、Mac OS 10.5を実行している場合

Updating sqlite3-ruby 
Building native extensions. This could take a while... 
/Users/username/.rbenv/versions/1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/ext/builder.rb:48: warning: Insecure world writable dir /usr/local in PATH, mode 040777 
ERROR: Error installing sqlite3-ruby: 
    ERROR: Failed to build gem native extension. 

     /Users/username/.rbenv/versions/1.9.3-p0/bin/ruby extconf.rb 
checking for sqlite3.h... yes 
checking for sqlite3_libversion_number() in -lsqlite3... yes 
checking for rb_proc_arity()... yes 
checking for sqlite3_initialize()... no 
checking for sqlite3_backup_init()... no 
checking for sqlite3_column_database_name()... no 
checking for sqlite3_enable_load_extension()... no 
checking for sqlite3_load_extension()... no 
creating Makefile 

make 
compiling backup.c 
compiling database.c 
database.c: In function 'initialize': 
database.c:47: error: 'SQLITE_OPEN_READWRITE' undeclared (first use in this function) 
database.c:47: error: (Each undeclared identifier is reported only once 
database.c:47: error: for each function it appears in.) 
database.c:47: error: 'SQLITE_OPEN_CREATE' undeclared (first use in this function) 
database.c:79: error: 'SQLITE_OPEN_READONLY' undeclared (first use in this function) 
database.c:81: warning: implicit declaration of function 'sqlite3_open_v2' 
database.c: In function 'set_sqlite3_func_result': 
database.c:285: error: 'sqlite3_int64' undeclared (first use in this function) 
database.c:285: error: syntax error before 'long' 
make: *** [database.o] Error 1 


Gem files will remain installed in /Users/username/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.5 for inspection. 
Results logged to /Users/username/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out 
Gems updated: activesupport, activemodel, rack, journey, sprockets, actionpack, railties, coffee-rails, jquery-rails, minitest, rubygems-update, sass-rails 
Installing ri documentation for activesupport-3.2.0.rc2... 

おかげ

+0

バージョンは何sqlite3のルビーを使用するようにGemfileを変更してみてくださいsqliteのでしょうか? 'sqlite3 --version' – iain

+0

@Iain Version 3.7.9 – Usering

+0

私は愚かな質問をするかもしれません - ' gem install sqlite3'を実行すると何が問題になりますか?あまりにも簡単ですか? ;)Btw、宝石のXCodeには依存しません(指定しない限り)。 – iain

答えて

2

を:sqlite3のルビーの宝石が更新されている場合は、次の私が取得しています

gem update 

を実行します.X以下では、sqlite3を実行できません。あなたはそれをコンパイルするために少なくともSnow Leopardが必要です。

代わり1.2.5

gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3' 
関連する問題