web-dev-qa-db-fra.com

rails install pg - Impossible de trouver l'en-tête 'libpq-fe.h

$ Sudo bundle install

Résultat

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.

Je suis make $ gem install pg -v '0.14.1' Mais ce n'est pas aider

Mon 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 */

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

Aidez-moi s'il vous plaît. Je vous remercie.

Désolé pour ce texte . Votre message n'a pas beaucoup de contexte pour expliquer les sections de code; veuillez expliquer votre scénario plus clairement.

50
Arthur Yakovlev

Faites juste ceci

$ Sudo apt-get install libpq-dev
112
Arthur Yakovlev

Ceci est résolu dans Impossible de trouver l'en-tête 'libpq-fe.h lors de la tentative d'installation de pg gem

En fonction de votre environnement:

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

Puis relancez gem install pg

39
Phil

Essaye ça: 

  1. brasser installer postgresql
  2. gem installer pg
  3. installation groupée
15
Karol

Sur les systèmes Fedora/RHEL, le problème a été résolu:

Sudo yum install libpqxx-devel
12
nicolasochem

Sous Mac OS X, procédez comme suit:

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

***/path/to/pg_config*** est le chemin d'accès à pg_config

4
Jiemurat

J'ai eu ce problème avec un serveur Jenkins sur Amazon AMI.

$ pg_config | grep VERSION
VERSION = PostgreSQL 9.4.9

Ensuite, selon la version dont vous avez besoin, vous pouvez installer la bibliothèque requise.

$ 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

Ensuite, vous pouvez simplement installer la version correspondante, dans mon cas pour la version 9.4:

Sudo yum install postgresql94-devel
3
Justin Fortier

Sur mac, assurez-vous que votre postgres est lié. Vous pouvez le faire en

brew link --overwrite postgresql

Cela a résolu le problème pour moi.

1
Ashkinas

essaye ça:

Sudo apt-get install libpq-dev
gem install pg 

ce serait des travaux!

1
Javid Dadashkarimi

Pour Amazon Linux:

Sudo yum install postgresql-devel

puis relancez votre commande

1
Gaurav Ragtah

J'utilise Ubuntu-16. Et j'utilise la méthode montrée ici: https://www.postgresql.org/download/linux/ubuntu/ pour installer postgresql-9.6; Et j’utilise "Sudo apt-get install libpq-dev" pour installer devlib.Mais cela ne fonctionne toujours pas. Donc, j’utilise la méthode ln pour établir un lien symbolique, la voici: Sudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/; Sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/ Et je résous enfin le problème.

0
lxc

Cela a fonctionné pour moi:

Sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
0
rassom