2016-12-28 76 views
1

Metasploitフレームワーク(重要ではない)をインストールしようとしていて、バンドルがsqlite3をインストールしようとしています。 sqlite3のがインストールされている(コマンドラインで実行sqlite3のは、環境に私をもたらします)と(何らかの理由で、そして--forceを追加)brew link sqlite3を使用してリンクされているが、このエラーをするたびにbundler install失敗:Ruby Sqlite3のインストールsqlite3_libversion_number()macOS Sierra

sudo gem install sqlite3 
Building native extensions. This could take a while... 
ERROR: Error installing sqlite3: 
    ERROR: Failed to build gem native extension. 

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
Error: Running Homebrew as root is extremely dangerous and no longer supported. 
As Homebrew does not drop privileges on installation you would be giving all 
build scripts full access to your system. 
checking for sqlite3.h... yes 
checking for pthread_create() in -lpthread... yes 
checking for sqlite3_libversion_number() in -lsqlite3... no 
sqlite3 is missing. Try 'brew install sqlite3', 
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev' 
and check your shared library search path (the 
location where your sqlite3 shared library is located). 
*** 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 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby 
    --with-sqlite3-config 
    --without-sqlite3-config 
    --with-pkg-config 
    --without-pkg-config 
    --with-sqlite3-dir 
    --without-sqlite3-dir 
    --with-sqlite3-include 
    --without-sqlite3-include=${sqlite3-dir}/include 
    --with-sqlite3-lib 
    --without-sqlite3-lib=${sqlite3-dir}/ 
    --with-pthreadlib 
    --without-pthreadlib 
    --with-sqlite3lib 
    --without-sqlite3lib 


Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/sqlite3-1.3.12 for inspection. 
Results logged to /Library/Ruby/Gems/2.0.0/gems/sqlite3-1.3.12/ext/sqlite3/gem_make.out 
+0

'gem install sequel mysql sqlite3'をインストールしようとしているのとまったく同じ問題がありますので、mysqlをsqliteにhttps:// stackoverのように変換できますflow.com/a/11328913/539149解決策を見つけたことはありますか? –

答えて

7

I最終的には、内蔵のMacOSシエラ10.12.5(16F73)上のMac OS Xのsqliteライブラリディレクトリ指定によってこの問題を解決するために管理:

$ whereis sqlite3 
/usr/bin/sqlite3 
# if binary is in /usr/bin then library is typically in /usr/lib 
$ gem install sqlite3 -- --with-sqlite3-lib=/usr/lib 
Building native extensions with: '--with-sqlite3-lib=/usr/lib' 
This could take a while... 
Successfully installed sqlite3-1.3.13 
Parsing documentation for sqlite3-1.3.13 
Done installing documentation for sqlite3 after 0 seconds 
1 gem installed 

私はHomebrewライブラリディレクトリを指定しようとしたが、何らかの理由でそれがなかったのt仕事:

$ brew ls --verbose sqlite3 
/usr/local/Cellar/sqlite/3.19.3/.brew/sqlite.rb 
/usr/local/Cellar/sqlite/3.19.3/bin/sqlite3 
/usr/local/Cellar/sqlite/3.19.3/include/msvc.h 
/usr/local/Cellar/sqlite/3.19.3/include/sqlite3.h 
/usr/local/Cellar/sqlite/3.19.3/include/sqlite3ext.h 
/usr/local/Cellar/sqlite/3.19.3/INSTALL_RECEIPT.json 
/usr/local/Cellar/sqlite/3.19.3/lib/libsqlite3.0.dylib 
/usr/local/Cellar/sqlite/3.19.3/lib/libsqlite3.a 
/usr/local/Cellar/sqlite/3.19.3/lib/libsqlite3.dylib 
/usr/local/Cellar/sqlite/3.19.3/lib/pkgconfig/sqlite3.pc 
/usr/local/Cellar/sqlite/3.19.3/README.txt 
/usr/local/Cellar/sqlite/3.19.3/share/man/man1/sqlite3.1 
$ gem install sqlite3 -- --with-sqlite3-lib=/usr/local/Cellar/sqlite/3.19.3/lib 
This could take a while... 
ERROR: Error installing sqlite3: 
    ERROR: Failed to build gem native extension. 
... 

誰かが自作ライブラリディレクトリを指定する方法を知っていれば、それは、インストール(おそらくMacPorts作品が、私はもはやそれを使用しない)を介して、もう少しコントロールを提供するため、私に知らせてください。好奇心旺盛な人のため


、ここではRubyのSequelをインストールするための完全なコマンドです:

gem install sequel mysql sqlite3 -- --with-sqlite3-lib=/usr/lib 

そして、どのようにmy comment on the questionからのSQLiteにホストポート3306でリッスンLaravel Homestead MySQLデータベースを変換する方法:

sequel mysql://homestead:[email protected]:3306/my_database -C sqlite://my_database.sqlite 
+0

2017-Nov-20 'gem install sqlite3 --with-sqlite3-lib =/usr/lib'完全に私の問題を解決しました。ありがとう! – NamNamNam

関連する問題