2012-10-26 11 views
37
$ sudo bundle install 

Wynikszyny zainstalować PG - nie można znaleźć „Header libpq-fe.h

Fetching gem metadata from https://rubygems.org/........... 
Fetching gem metadata from https://rubygems.org/.. 
Using rake (0.9.2.2) 
Using i18n (0.6.1) 
Using multi_json (1.3.6) 
Using activesupport (3.2.8) 
Using builder (3.0.4) 
Using activemodel (3.2.8) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.3) 
Using actionpack (3.2.8) 
Using mime-types (1.19) 
Using polyglot (0.3.3) 
Using treetop (1.4.11) 
Using mail (2.4.4) 
Using actionmailer (3.2.8) 
Using arel (3.0.2) 
Using tzinfo (0.3.33) 
Using activerecord (3.2.8) 
Using activeresource (3.2.8) 
Using bundler (1.2.1) 
Using coffee-script-source (1.4.0) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.7.5) 
Using rdoc (3.12) 
Using thor (0.16.0) 
Using railties (3.2.8) 
Using coffee-rails (3.2.2) 
Using jquery-rails (2.1.3) 
Installing pg (0.14.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /usr/bin/ruby1.8 extconf.rb 
checking for pg_config... yes 
Using config values from /usr/bin/pg_config 
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. 
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. 
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. 

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=/usr/bin/ruby1.8 
    --with-pg 
    --without-pg 
    --with-pg-dir 
    --without-pg-dir 
    --with-pg-include 
    --without-pg-include=${pg-dir}/include 
    --with-pg-lib 
    --without-pg-lib=${pg-dir}/lib 
    --with-pg-config 
    --without-pg-config 
    --with-pg_config 
    --without-pg_config 

Gem files will remain installed in /var/lib/gems/1.8/gems/pg-0.14.1 for inspection. 
Results logged to /var/lib/gems/1.8/gems/pg-0.14.1/ext/gem_make.out 
An error occurred while installing pg (0.14.1), and Bundler cannot continue. 
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling. 

Jestem dokonać $ gem install pg -v '0.14.1' Ale to nie jest pomoc

My Gemfile

source 'https://rubygems.org' 

#gem 'rails', '3.0.9' 

#gem 'sqlite3', '1.3.6', :group => :development 


gem 'rails', '3.2.8' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 


gem 'sqlite3' 
gem 'pg' 
gem 'taps' 

gem 'json' 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 


#group :production do 
    #gem 'pg' 
#end 
#group :development do 
    #gem 'sqlite3' 
#end 

gem_make.out

/usr/bin/ruby1.8 extconf.rb 
checking for pg_config... yes 
Using config values from /usr/bin/pg_config 
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. 
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. 
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. 

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=/usr/bin/ruby1.8 
    --with-pg 
    --without-pg 
    --with-pg-dir 
    --without-pg-dir 
    --with-pg-include 
    --without-pg-include=${pg-dir}/include 
    --with-pg-lib 
    --without-pg-lib=${pg-dir}/lib 
    --with-pg-config 
    --without-pg-config 
    --with-pg_config 
    --without-pg_config 

mkmf.log

find_executable: checking for pg_config... -------------------- yes 

-------------------- 

find_header: checking for libpq-fe.h... -------------------- no 

"gcc -E -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -o conftest.i" 
conftest.c:1:22: fatal error: libpq-fe.h: No such file or directory 
compilation terminated. 
checked program was: 
/* begin */ 
1: #include <libpq-fe.h> 
/* end */ 

-------------------- 

Pomóżcie mi proszę. Dziękuję Ci.

Przepraszamy za ten tekst. Twój post nie ma wiele kontekstu, aby wyjaśnić sekcje kodu; proszę wyjaśnić swój scenariusz bardziej wyraźnie.

+0

Jak zainstalowałeś PostgreSQL? – Stefan

+1

możliwy duplikat [Nie można odnaleźć biblioteki klienta PostgreSQL (libpq)] (http: // stackoverflow.com/questions/6209797/cant-find-the-postgresql-client-library-libpq) – skolima

+0

możliwy duplikat [Nie można odnaleźć nagłówka 'libpq-fe.h podczas próby instalacji pg gem] (http: // stackoverflow .pl/pytania/6040583/cant-find-the-libpq-fe-h-header-when-trying-to-install-pg-gem) – iconoclast

Odpowiedz

91

Tylko ten

$ sudo apt-get install libpq-dev 
+4

To zrobiło to dla mnie +1 –

+5

To nie zrobiło tego dla mnie ... –

+0

Próbowałem to zrobić na Ubuntu 14.04, ale dało mi to: "libpq-dev: Depends: libpq5 (= 9.3.4-1), ale 9.3.10-0ubuntu0.14.04 ma być zainstalowany" –

1

spróbuj tego:

sudo apt-get install libpq-dev 
gem install pg 

byłoby dzieła!

13

Spróbuj tego:

  1. napar zainstalować PostgreSQL
  2. gem install pg
  3. pakiet zainstalować
4

W systemie Mac OS X działać tak:

gem install pg -- --with-pg-config=***/path/to/pg_config*** 

***/path/to/pg_config*** jest ścieżka do pg_confi g

11

W systemach Fedora/RHEL to załatwiło sprawę:

sudo yum install libpqxx-devel 
+0

Dlaczego jest napisane: Brak pakietu libpqxx-devel. – itsji10dra

+1

lista yum libpq *, po której następuje instalacja yum libpqxx-devel.x86_64 – erichfw

22

ten odpowiedział w Can't find the 'libpq-fe.h header when trying to install pg gem

w zależności od środowiska:

  • Mac:brew install postgresql
  • Ubuntu: sudo apt-get install libpq-dev
  • RHEL: yum install postgresql-devel

Następnie uruchom ponownie gem install pg

+0

Próbowałem to zrobić na Ubuntu 14.04, ale dało mi to: "libpq-dev: Depends: libpq5 (= 9.3.4-1), ale 9.3.10- 0ubuntu0.14.04 zostanie zainstalowany " –

+0

Ale kiedy próbuję zainstalować libpq5, mówi" libpq5 jest już najnowszą wersją. " To samo dla PostgreSQL –

+0

Wersja PostgreSQL to: psql --version: psql (PostgreSQL) 9.3.10. PostgreSQL 9.3.10 na x86_64-nieznany-linux-gnu, skompilowany przez gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bitowy –

0

Ten pracował dla mnie:

sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config 
1

na Mac upewnij się, że PostgreSQL jest powiązane. Można to zrobić przez

brew link --overwrite postgresql 

Ten stały problem dla mnie.

0

Miałem ten problem z serwerem Jenkins na Amazon AMI.

$ pg_config | grep VERSION 
VERSION = PostgreSQL 9.4.9 

Następnie w zależności od wersji trzeba można zainstalować wymagane lib

$ sudo yum list postgresql* | grep devel 
postgresql92-devel.x86_64    9.2.18-1.59.amzn1   @amzn-main 
postgresql94-devel.x86_64    9.4.9-1.67.amzn1   @amzn-main 
postgresql8-devel.x86_64    8.4.20-5.52.amzn1   amzn-main 
postgresql93-devel.x86_64    9.3.14-1.62.amzn1   amzn-main 
postgresql95-devel.x86_64    9.5.4-1.71.amzn1   amzn-main 

Następnie można po prostu zainstalować odpowiednią wersję, w moim przypadku w wersji 9.4:

sudo yum install postgresql94-devel 
0

Używam Ubuntu-16. Używam pokazanej tutaj metody: https://www.postgresql.org/download/linux/ubuntu/ do instalacji postgresql-9.6; I używam "sudo apt-get install libpq-dev" do zainstalowania devlib.But To nadal nie działa. Używam więc metody ln do utworzenia miękkiego łącza, tutaj jest to: sudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/; sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/ I ostatecznie rozwiązuję problem.

Powiązane problemy