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.
Ma solution s'est retrouvée à ce
ARCHFLAGS="-Arch x86_64" bundle install
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.
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
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é.
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.
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).
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
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
.
Pour moi, l'astuce était de reconnecter Postgres 9.3.0
brew link postgresql