web-dev-qa-db-fra.com

bundle failing - Impossible de trouver la bibliothèque cliente PostgreSQL (libpq)

Je pense avoir essayé toutes les suggestions que j'ai pu trouver concernant ce problème. Je ne travaille toujours pas pour moi.

Lorsque j'essaie de regrouper ...

$ bundle
...

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... yes
Using config values from /usr/local/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** 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-pg
    --without-pg
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/
    --with-pqlib
    --without-pqlib
    --with-libpqlib
    --without-libpqlib
    --with-ms/libpqlib
    --without-ms/libpqlib


Gem files will remain installed in
...
An error occurred while installing pg (0.17.1), and Bundler cannot
continue.
Make sure that `gem install pg -v '0.17.1'` succeeds before
bundling.

Sortie du code précédent ...

$ which bundle
/Users/Loren/.rvm/gems/Ruby-2.1.1@global/bin/bundle

$ which gem
/Users/Loren/.rvm/rubies/Ruby-2.1.1/bin/gem

$ which psql
/usr/local/bin/psql

J'ai essayé de désinstaller postgresql en utilisant Homebrew et de réinstaller et cela n'a pas aidé.

J'ai essayé...

ARCHFLAGS="-Arch x86_64" gem install pg

et cela se termine avec succès mais quand j'exécute bundle j'obtiens toujours la même erreur.

J'ai essayé ...

gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config

et cela n'a pas fonctionné.

J'ai essayé ...

gem install pg -v '0.17.1' -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.2/bin/pg_config

et cela n'a pas fonctionné non plus.

Je ne sais pas quoi d'autre essayer à ce stade. Merci pour toute aide.

32
halorium

Ma solution s'est retrouvée à ce

ARCHFLAGS="-Arch x86_64" bundle install
99
Josh Dean

Sur la base de cela réponse de la poste et cela a fonctionné pour moi (Yosemite OSX 10.10), vous pouvez essayer ce qui suit:

$ Sudo su

$ env ARCHFLAGS="-Arch x86_64" gem install pg

Vous n'avez pas besoin de réinstaller pg à partir de homebrew.

43
fruqi

Sudo ARCHFLAGS="-Arch x86_64" gem install pg
A FAIT LE TRUC POUR MOI ... merci pour le conseil sur un fil donné par Jakob @ github

Mon système: OSX 10.9.4, Ruby 2.0.0, Postgresql 9.3.5 local (non homebrew))

Building native extensions.  This could take a while...
Successfully installed pg-0.17.1
invalid options: -f fivefish
(invalid options are ignored)
Parsing documentation for pg-0.17.1
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/pg_ext.bundle, skipping
Installing ri documentation for pg-0.17.1
1 gem installed
12
susan

J'ai désinstallé postgresql en utilisant home-brew (je l'avais utilisé pour installer postgresql auparavant)

J'ai installé Postgres.app et cela a mis à jour mon CHEMIN

J'ai ensuite dû arrêter le db postgresql en cours d'exécution

J'ai ensuite pu lancer Postgres.app et ça a commencé sur le port 5432

J'ai ensuite dû redémarrer mon terminal

Ensuite, j'ai pu exécuter le bundle et cela a fonctionné.

2
halorium

Dans mon cas particulier, j'essayais d'exécuter bundle install sur ma première application Heroku. J'ai fait tous les éléments répertoriés par @boobooninja (avec des chemins légèrement différents, bien sûr). Ce qui a fini par fonctionner pour moi était une combinaison de deux réponses. j'avais besoin de

$ Sudo su

$ env ARCHFLAGS="-Arch x86_64" gem install pg -v '0.17.1' 

En ajoutant le -v 0.17.1 et en précisant la version requise par heroku, j'ai pu terminer mon bundle et continuer.

1
Tek

Pour faciliter la gestion et la mise à niveau, etc. J'ai utilisé le ( PostgreSQL Application sur mon Mac avec l'installation de gem suivante (la même que la vôtre ci-dessus).

gem install pg -- --with-pg-config=/Applications/Postgres__version__.app/Contents/MacOS/bin/pg_config

Je n'ai eu aucun problème avec cette approche (par rapport à une installation personnalisée ou via Homebrew à partir de laquelle j'ai eu quelques problèmes).

1
craig.kaminsky

Veuillez vous assurer que le package 'libpq-dev' est installé sur votre système

Essayez donc d'installer libpq-dev:

   for Ubuntu systems: Sudo apt-get install libpq-dev
   on RHEL systems: yum install postgresql-devel
   for Mac: brew install postgresql

Ensuite, installez pg gem

   $ gem install pg -v '0.17.1'
   $ bundle
1
Abhi

Si vous voulez toujours pouvoir ajouter gem 'pg' à votre gemfile et utilisez bundle install, et vous savez que PostgreSQL et libpq-dev sont installés (ce que je pense que les deux devraient l'être puisque OS X est livré avec PostgreSQL), vous n'avez qu'à dire à votre $PATH où trouver pg_config. Essaye ça:

$ ln -s /Library/PostgreSQL/9.1/bin/pg_config /usr/local/bin/pg_config

Assurez-vous de remplacer 9.1 avec la version de PostgreSQL que vous avez installée. Et assurez-vous que partout où vous créez le lien se trouve dans votre $PATH. Une fois cela fait, exécutez bundle install pour installer la gemme pg.

0
Gray Kemmey

Pour moi, l'astuce était de reconnecter Postgres 9.3.0

brew link postgresql
0
futbolpal