2016-12-28 35 views
1

Ich versuche, das Metasploit-Framework zu installieren (unwichtig) und Bundler versucht, sqlite3 zu installieren, wo es konsequent fehlschlägt. Sqlite3 installiert ist (Ausführung sqlite3 in der Befehlszeile bringt mich in die Umwelt) und verbunden mit brew link sqlite3 (und dem Hinzufügen des --force aus irgendeinem Grunde), aber bundler install nicht jedes Mal mit diesem Fehler:Ruby Sqlite3 Installation 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

Ich habe genau das gleiche Problem bei der Installation von 'gem install sequel mysql sqlite3', damit ich von mysql in sqlite wie in https: // stackover konvertieren kann flow.com/a/11328913/539149 Haben Sie jemals eine Lösung gefunden? –

Antwort

7

I schließlich gelang dies durch zu lösen, um den Mac OS X sQLite Bibliotheksverzeichnis in integrierte Angabe auf macOS Sierra 10.12.5 (16F73):

$ 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 

ich versuchte, das Homebrew Bibliotheksverzeichnis Angabe aber aus irgendeinem Grunde es didn‘ t Arbeit:

$ 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. 
... 

Wenn jemand weiß, wie das Homebrew Bibliotheksverzeichnis angeben, lassen Sie es mich wissen, denn das ist ein wenig mehr Kontrolle über die Installation zur Verfügung stellen würde (angeblich MacPorts funktioniert, aber ich es nicht mehr verwenden).


Für alle neugierig, hier ist der vollständige Befehl Ruby zu installieren Sequel:

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

Und wie eine Laravel Homestead MySQL-Datenbank auf dem Host-Port konvertieren 3306 hören SQLite von my comment on the question:

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

2017-Nov-20 'Juwel installieren sqlite3 - --with-sqlite3-lib =/usr/lib' lösen mein Problem total, Danke! – NamNamNam