2017-02-02 7 views
1

Ich arbeite an einem neuen Projekt und bekomme einen Fehler, den ich nicht beheben kann, nachdem ich die Vorschläge des Fehlers befolgt habe. Kennt jemand irgendeinen Grund, warum Ruby 2.1.2 nicht gut mit Rails 4.2.6 spielen sollte, wenn Postgresql Datenbank installiert wird? Ich erhalte diese Art von Fehler:Warum erhalte ich diesen Fehler, wenn ich versuche, postgresql als Datenbank in RoR zu verwenden?

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
checking for pg_config... no 
No pg_config... trying anyway. If building fails, please try again with 
--with-pg-config=/path/to/pg_config 
checking for libpq-fe.h... no 
Can't find the 'libpq-fe.h header 
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. 

ich die Protokolle überprüft und es könnte in Hieroglyphen haben auch gewesen:

"gcc -E -I/Users/danale/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/x86_64-darwin16 -I/Users/danale/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0/ruby/backward -I/Users/danale/.rvm/rubies/ruby-2.3.3/include/ruby-2.3.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -o conftest.i" 
conftest.c:3:10: fatal error: 'libpq-fe.h' file not found 
#include <libpq-fe.h> 
     ^
1 error generated. 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <libpq-fe.h> 
/* end */ 

ich Ruby-Version 2.1.2, da geändert, in der Hoffnung, es war ein Kompatibilitätsproblem, aber es hat den Fehler nicht behoben. Wenn ich versuche, den Fehlerempfehlungen zu folgen:

Gem files will remain installed in /Users/danale/.rvm/gems/ruby-2.1.2/gems/pg-0.19.0 for inspection. 
Results logged to /Users/danale/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-16/2.1.0/pg-0.19.0/gem_make.out 
danales-MacBook-Pro:Projects danale$ bundle exec spring binstub --all 
Could not locate Gemfile or .bundle/ directory 
danales-MacBook-Pro:Projects danale$ bundle install 
Could not locate Gemfile 

Ich bekomme, was Sie oben sehen.

+0

Sie müssen nur die Entwicklungs-Header für PostgreSQL installieren. Ich weiß leider nicht, wie man das in einem Mac macht. –

+0

http://StackOverflow.com/a/19620569/5706543 vielleicht wird dies helfen? –

+0

Mögliches Duplikat von [Rails 3 - pg gem nicht installieren] (http://stackoverflow.com/questions/9668753/rails-3-cant-install-pg-gem) –

Antwort

2

Daniel genagelt dies in den Kommentaren und ich brauche nicht Kredit für sie, aber wenn Sie ein Mac-Benutzer sind müssen Sie verwenden:

brew install postgresql 
1

Dieser Fehler bedeutet, dass Sie keine Header zum Kompilieren der systemeigenen Erweiterungen auf Ihrem Computer haben. Sie können sie installieren, indem Sie:

brew install postgresql 

ot dann

gem install pg -- --with-pg-config='PG_CONFIG_PATH' 

und dann versuchen, bundle install erneut auszuführen.

Sie können mehr über diese here lesen.

+0

Hey Ed , Ich bekomme keine Formeln gefunden in Taps für "brauen install libpg-dev" – Daniel

+1

Ed, Sie waren auf dem richtigen Weg. Für Mac ist es nicht brew install libpg-dev aber brew installieren postgresql, aber ich werde weitermachen und Ihre Antwort als die richtige markieren. – Daniel

+0

Danke. Hoffe, dass dein Problem gelöst ist. –

0

starten: Zum Systemeinstellungen => Öffnen Software & Updates, müssen Sie beide Updates treuen-treuen Sicherheits & aktiviert haben unter den Updates Registerkarte dann Ihre Quellen neu zu laden & zu sehen, wenn Sie th erhalten Die aktuellen Versionen. Danach öffnen Sie Ihr Terminal und führen Sie sudo apt-get update.

Verwandte Themen