J'essaye d'installer le pg gem afin de retravailler avec mes projets de rails. Mais j'obtiens cette erreur:
Construire des extensions natives. Cela peut prendre un certain temps ... ERREUR: Erreur lors de l'installation de pg: ERREUR: Échec de la construction de l'extension native gem.
/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If
la construction échoue, veuillez réessayer avec --with-pg-config = / path / to / pg_config recherche de libpq-fe.h ... non Impossible de trouver l'en-tête 'libpq-fe.h * extconf.rb échoué * Impossible de créer Makefile pour une raison quelconque, probablement le manque de bibliothèques et / ou d'en-têtes nécessaires. Consultez le fichier mkmf.log pour plus de détails. Vous pouvez avoir besoin d'options de configuration.
Options de configuration fournies: --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 = / Utilisateurs / jeanosorio / .rvm / rubies / ruby-2.0.0-p247 / 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 - -avec-pg-lib - sans-pg-lib = $ {pg-dir} /
Les fichiers Gem resteront installés dans /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0 pour inspection. Résultats enregistrés dans /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out
J'ai essayé tout ce que j'ai trouvé sur stackoverflow mais j'obtiens toujours cette erreur.
Si j'essaye d'installer postgresql en utilisant brew, j'obtiens l'avertissement suivant:
Attention: postgresql-9.2.4 déjà installé, il n'est tout simplement pas lié
Si j'essaye de lier
brew link postgresql Linking /usr/local/Cellar/postgresql/9.2.4 ... Attention: Impossible de lier postgresql. Dissociation ...
Erreur: impossible de créer un lien symbolique sur le fichier: /usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7 / usr / local / share / man / man7 n'est pas accessible en écriture. Vous devez modifier ses autorisations.
Aidez-moi, s'il vous plaît
REMARQUE: j'ai déjà installé les outils de ligne de commande pour les non-conformistes.
Si je désinstalle à l'aide de homebrew et que j'essaye d'installer à nouveau, j'obtiens cette erreur:
==> Téléchargement de http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
############################################### ################ 100,0%==> Fichier de correctif src / pl / plpython / Makefile Fichier de correctif contrib / uuid-ossp / uuid-ossp.c ==> ./configure --prefix = / usr / local / Cellar / postgresql / 9.2.4 - datadir = / usr / local / Cellar / postgresql / 9.2.4 / share / postgresql --docdir = / usr / local / Cellar / p ==> make install-world ==> Mises en garde
Notes de construction
Si les versions de PostgreSQL 9 échouent et que la version 8.x est installée, vous devrez peut-être d'abord supprimer la version précédente. Voir:
https://github.com/mxcl/homebrew/issues/issue/2510Créer / mettre à niveau une base de données
S'il s'agit de votre première installation, créez une base de données avec: initdb / usr / local / var / postgres -E utf8
Pour migrer des données existantes à partir d'une version majeure précédente (antérieure à 9.2) de PostgreSQL, voir:
http://www.postgresql.org/docs/9.2/static/upgrading.htmlChargement des extensions
Par défaut, Homebrew crée toutes les extensions Contrib disponibles. Pour voir une liste de toutes les extensions disponibles, à partir de la ligne de commande psql, exécutez:
SELECT * FROM pg_available_extensions;Pour charger l'un des noms d'extension, accédez à la base de données souhaitée et exécutez: CREATE EXTENSION [nom d'extension];
Par exemple, pour charger l'extension tablefunc dans la base de données actuelle, exécutez: CREATE EXTENSION tablefunc;
Pour plus d'informations sur la commande CREATE EXTENSION, voir:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html Pour plus d'informations sur les extensions, voir:
http://www.postgresql.org/ docs / 9.2 / static / contrib.htmlAutre
Certaines machines peuvent nécessiter le provisionnement de la mémoire partagée:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC Lors de l'installation du gem postgres, il est recommandé d'inclure ARCHFLAGS: ARCHFLAGS = "- arch x86_64" gem installer pgPour installer des gemmes sans sudo, consultez le wiki Homebrew.
Pour que launchd démarre postgresql à la connexion: ln -sfv /usr/local/opt/postgresql/*.plist ~ / Library / LaunchAgents Puis pour charger postgresql maintenant: launchctl load ~ / Library / LaunchAgents / homebrew.mxcl.postgresql.plist Ou , si vous ne voulez pas / avez besoin de launchctl, vous pouvez simplement exécuter: pg_ctl -D / usr / local / var / postgres -l /usr/local/var/postgres/server.log start Attention: Impossible de lier postgresql. Dissociation ... Erreur: l'
brew link
étape ne s'est pas terminée correctement La formule a été créée, mais n'est pas liée symboliquement dans / usr / local Vous pouvez réessayer en utilisant `brew link postgresql '==> Résumé 🍺 /usr/local/Cellar/postgresql/9.2 .4: 2831 fichiers, 38 Mo, construits en 4,9 minutes
SOLUTION:
J'exécute cette commande afin de changer l'autorisation du dossier:
sudo chown jeanosorio / usr / local / share / man / man7
ensuite
brew link postgresql Linking /usr/local/Cellar/postgresql/9.3.1 ... 421 liens symboliques créés
Et enfin:
sudo ARCHFLAGS = "- arch x86_64" gem install pg
Récupération: pg-0.17.0.gem (100%) Construction d'extensions natives. Cela peut prendre un certain temps ... pg-0.17.0 installé avec succès
export CONFIGURE_ARGS="with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config"