web-dev-qa-db-fra.com

Installation de PG Gem sur OS X - échec de la création d'une extension native

Il semble que beaucoup d'autres ont eu des problèmes pour installer le pg gem. Aucune des solutions proposées aux autres n’a fonctionné pour moi.

J'ai essayé d'installer le gem pg et postgres.app. Le petit bijou ne sera pas installé. La première erreur que je reçois est:

Une erreur s'est produite lors de l'installation de la page (0.17.0) et Bundler ne peut pas continuer. Assurez-vous que gem install pg -v '0.17.0' réussit avant de lier.

Le conseil d'installation sur le fait de pointer mon installation de gemme vers config for pg échoue avec le message d'erreur suivant (rencontré par de nombreux autres utilisateurs de ce forum):

Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/Ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out

Je ne sais pas comment trouver ou accéder à ce fichier journal pour rechercher d'autres indices.

Je reçois également un message d'erreur (commande introuvable) lorsque j'essaie d'utiliser la commande Sudo apt-get install. J'ai parcouru ce forum ces 6 dernières heures, en essayant chaque conseil pour que pg travaille avec mon projet Rails.

Je ne trouve pas de conseils sur la manière de changer de chemin ou sur les changements nécessaires. Mon which pg_config renvoie un fichier source. J'ai utilisé cela avec une commande pour installer pg en utilisant cette configuration. Il échoue.

Il y a tellement de gens qui ont eu des problèmes avec cela. Beaucoup de réponses suggèrent homebrew. J'ai dû supprimer cela parce que cela soulevait d'autres problèmes.

173
Mel

Même erreur pour moi et je ne l’ai pas expérimenté jusqu’à ce que je télécharge OS X 10.9 (Mavericks). Soupir, un autre casse-tête de mise à niveau du système d'exploitation.

Voici comment je l'ai corrigé (avec homebrew):

  • Installez une autre version des outils Xcode (taper brew update dans le terminal vous invitera à mettre à jour les outils de construction Xcode)
  • brew update
  • brew install postgresql

Après cela, gem install pg a travaillé pour moi.

417
shicholas

Si vous utilisez Ubuntu, essayez d’installer le fichier lib suivant

Sudo apt-get install libpq-dev

puis

gem install pg

a travaillé pour moi.

218
sandesh kota

J'utilise OS X Mavericks (version 10.9)

et lorsque j’exécute ce qui précède, j’ai reçu le message suivant: Si les versions de PostgreSQL 9 échouent et que la version 8.x est installée.

Alors je lance la commande suivante:

ARCHFLAGS="-Arch x86_64" gem install pg

et cela a fonctionné pour moi, j'espère que cela aidera quelqu'un :)

49
Jon

Ok, j'ai aussi eu ce problème (psql est v 9.3.0 et Ruby est v 2.1.2) et la solution qui a fonctionné pour moi a été de définir d'abord les paramètres de configuration du paquet:

bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

Cette réponse m'a finalement aidé à comprendre: https://stackoverflow.com/a/9235107/354668

41
paninapress

J'ai tout essayé pendant des heures, mais voici ce qui a finalement été corrigé (je suis sous OS X 10.9.4):

  1. Installer des outils de ligne de commande Xcode (site de développement Apple)
  2. brew désinstaller postgresql
  3. brasser installer postgresql
  4. ARCHFLAGS = "- Arch x86_64" gem install pg
22
Ali Yazdani

étape facile

  1. brew install postgresql
  2. gem install pg -v 'your version'
7
James Dela Cruz

De même, après l’installation de Mavericks, bundle update émettait une erreur sur la pem gem, qui est uniquement utilisée en production et non localement.

J'utilise Brew pour gérer mes paquets et postgresql était déjà installé, mais j'avais quand même l'erreur "no pg_config".

Le correctif était simplement brew uninstall postgresql, puis brew install postgresql. Après quoi, j'ai immédiatement pu exécuter avec succès bundle update.

6
Shannon Perkins

Je crois que la réponse "correcte" serait de configurer d'abord correctement PATH pour Postgres.app en ajoutant ce qui suit à ~/.profile (.zshrc ou ~/.zprofile si vous utilisez ZSH):

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

Puis ouvrez un nouvel onglet ou une nouvelle fenêtre dans le terminal et installez la gemme pg avec:

ARCHFLAGS="-Arch x86_64" gem install pg

Documenté ici:

5
Matias Korhonen

Sur OSX avec Postgres installé dans/Applications, je lance simplement la commande suivante (change .2 & 9.4 selon votre version)

gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

Tu aurais dû :

Construire des extensions natives avec: '--with-pg-config =/Applications/Postgres.app/Sommaire/Versions/9.4/bin/pg_config' Cela pourrait prendre un certain temps ... Installation réussie de pg-0.20.

5
jbheren

J'ai passé une journée là-dessus et voici comment je l'ai réparé:

J'ai trouvé que la valeur globale de build.pg était définie sur: /opt/local/lib/postgresql91/bin/pg_config et que postgres n'était pas installé.

Je l'ai corrigé en remplaçant la valeur de build.pg par: bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config, où se trouve mon installation postgresql.

3
HosseinToussi

Essayer:

gem install pg -- --with-pg-config=`which pg_config`
1
Gerry