74 votes

Impossible d'installer le pg gem dans Mavericks avec Postgres.app

Je suis en train d'installer le pg gem pour une utilisation avec Postgres.app sur ma machine locale. Je suis sous Mavericks.

Postgres.app est installé et en cours d'exécution fine, mais je ne peux pas obtenir la gemme de travail. J'ai effectué les opérations suivantes:

  1. Utilisé la commande " env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config " de la Postgres.app de la documentation
  2. Mise à jour Homebrew et installé la Pomme de GCC 4.2
  3. Installé Xcode developer tools
  4. Mise à jour de mon $PATH pour faire référence à la fois à la Postgres.app bin et lib

Tous, sans succès. Voici le message d'erreur spécifique je reçois:

Building native extensions with: '--with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config'
This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

    /Users/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Using config values from /Applications/Postgres.app/Contents/MacOS/bin/pg_config
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
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
    --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=/Users/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby
    --with-pg
    --without-pg
    --with-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}/

J'apprécierais toute aide que vous pouvez offrir. Merci!

262voto

Tom De Leu Points 3164

Vous avez probablement le mauvais chemin pour --with-pg-config, vérifier si elle est là.

par exemple, sur mon système, j'ai dû utiliser gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config.

Mis à jour le 7 juin 2014

Dernière Postgres App a pg_config situé dans l'app bundler en Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config, de sorte que le nouvel ge de commande serait:

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

Mis À Jour Le 5 Juillet 2014

pg_config a déménagé à nouveau; cela a fonctionné pour moi

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

Mis À Jour Le 19 Octobre 2014 Cela a fonctionné pour moi:

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

utiliser sudo find / -name "pg_config" pour trouver le chemin

16voto

Marius Butuc Points 3792

Dans mon cas (l'exécution de Postgres.app v9.3.4.2) il ne semblait fonctionner lorsque ajoutant de l'environnement de l'architecture des drapeaux:

env ARCHFLAGS="-arch x86_64" gem install pg -- \
--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 

13voto

Louis Sayers Points 909

Étant sur un nouveau mac, voici ce que j'ai eu à faire:

  1. Installer Xcode tools à partir de l'app store
  2. Ouvrez Xcode tools et accepter le contrat de licence
  3. Maintenant, exécutez gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config .

Je troubleshooted un peu par la vérification de l'erreur dans le mkmf.le journal que vous pouvez trouver en cours d'exécution (en cas d'utilisation rvm):

cd ~/.rvm ; find . -name mkmf.log | grep pg

6voto

ylemp Points 7

J'ai pu installer pg avec cette commande

    gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config

J'ai trouvé mon chemin en cours d'exécution

    sudo find / -name "pg_config"

et j'ai installé avec Succès pg-0.17.1

2voto

Geoff Smith Points 92

Pour résoudre ce problème, j'ai installé postgres à l'aide de homebrew en utilisant le texte suivant dans la fenêtre de terminal:

brew install postgres

Homebrew peut être trouvé ici

http://brew.sh

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X