Lorsque j’essaie d’exécuter un bundle (installation groupée), je reçois tout le temps
Installing pg (0.13.2) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/ryan/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config 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 --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=/Users/ryan/.rvm/rubies/ruby-1.9.2-p290/bin/ruby --with-pg --without-pg --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/lib --with-pg-config --without-pg-config --with-pg_config --without-pg_config Gem files will remain installed in /Users/ryan/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.13.2 for inspection. Results logged to /Users/ryan/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.13.2/ext/gem_make.out An error occured while installing pg (0.13.2), and Bundler cannot continue. Make sure that `gem install pg -v '0.13.2'` succeeds before bundling.
J’utilise Mac OS X 10.6, la version de PostgreSQL installée est 9.1. J’ai trouvé le problème dans libpq-dev , comment pourrais-je installer / réparer?
Comme indiqué dans votre journal des erreurs, vous devez transmettre le chemin d’access au fichier pg_config. Essayez d’installer la gem en utilisant:
gem install pg -- --with-pg-config= 'PATH_TO_YOUR_PG_CONFIG'
Si vous ne savez pas où se trouve votre pg_config et si vous êtes sur Linux ou Mac, vous pouvez exécuter la commande suivante:
which pg_config
Votre pg-config peut se trouver à différents endroits en fonction de la manière dont vous avez installé postgres.
Si vous utilisez Linux, vous pouvez être intéressé par ce qui a fonctionné pour moi:
sudo apt-get install postgresql sudo apt-get install libpq-dev
alors
gem install pg
puis
bundle install
src: http://wikimatze.de/installing-postgresql-gem-under-ubuntu-and-mac
Si vous utilisez Postgress.app, vous voudrez accéder à ses outils de ligne de commande . Entrez la ligne suivante dans votre terminal ou votre profil PATH :
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
gem install pg
devrait maintenant fonctionner. (C’est ce qui a fonctionné pour moi.)
Remarque Le chemin de la nouvelle version ressemble à ceci:
/Applications/Postgres.app/Contents/Versions//bin
Si vous avez un homebrew, tapez simplement:
$ brew install postgresql
Si vous ne l’avez pas, téléchargez-le en tapant dans votre terminal:
ruby -e “$ (curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install )”
Rechercher libpq:
brew search libpq
Devrait sortir libpqxx
Ensuite, essayez de l’installer:
brew install libpqxx
Il suffit d’installer libpq-dev
:
sudo apt-get install libpq-dev
Alors la gemme devrait s’installer correctement.
Suivez les instructions de post-installation: http://postgresapp.com/documentation/configuration-ruby.html
Pour installer le gem pg, assurez-vous d’avoir configuré correctement votre $ PATH (comme spécifié dans http://postgresapp.com/documentation/cli-tools.html ), puis exécutez
sudo ARCHFLAGS="-arch x86_64" gem install pg
Je recommande fortement de lire les deux pages. Juste les écrémé et perdu 1 heure de ma vie. Lisez-les, problème résolu.
Le problème que j’avais était que pour une raison quelconque, il essayait de comstackr avec /usr/bin/gcc-4.2. J’ai découvert cela en changeant try_cpp dans mkmf.rb (que j’ai vu dans la trace de la stack) pour générer une exception avec la ligne de compilation qui échouait.
J’ai gcc lié à gcc-4.2 et cela a fonctionné:
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
Pourquoi essayait-il d’utiliser gcc-4.2? Aucune idée.
La ligne de compilation actuelle:
/usr/bin/gcc-4.2 -E -I/Users/dfrankow/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/x86_64-darwin11.4.0 -I/Users/dfrankow/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/ruby/backward -I/Users/dfrankow/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/Cellar/postgresql/9.1.4/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-ssortingngs -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -fno-common -pipe conftest.c -o conftest.i (RuntimeError)
J’ai eu le même problème mais mon Postgres a été installé dans
/Library/PostgreSQL/9.3
Mise à jour du fichier ~ / .bash_profile en ajoutant:
export PATH=/Library/PostgreSQL/9.3/bin:$PATH
Ouvrez un nouveau terminal, lancez la bundle update
et cela a aussi fonctionné pour moi. Merci Ari.
Vous pouvez définir une option de bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
et utiliser gem install pg
sans aucune option (le chemin de pg_config peut être différent pour vous, celui-ci est pour le Postgresapp 9.3.5.0)
J’ai eu le même problème dans ma machine openSUSE13.1 KDE. Avant ce problème, je n’avais installé que les paquets postgresql
et postgresql-server
utilisant la commande zypper
. Puis installé à nouveau 2 autres paquets:
[[email protected]_do_app]$ sudo zypper in postgresql-devel postgresql-consortingb root's password: Loading repository data... Reading installed packages... Resolving package dependencies... #....
Ensuite, j’ai couru encore une fois et réussi !!!
Pour une solution OSX qui fonctionne, consultez ce guide http://krugerdavid.com/journal/how-to-install-xcode-homebrew-git-rvm-postgresql-ruby-1-9-3-on-snow-leopard/
Il vous guidera lors de l’installation de PostgreSQL en utilisant l’homebrew. Testé et fonctionnant pour moi sur OSX 10.8.3, PostgreSQL 9.2.3 et Ruby 2.0.0-p0
Tout d’abord, désinstallez les versions Homebrew. L’option –force permet de désinstaller toutes les versions.
brew rm postgresql --force
Modifiez les chemins en conséquence pour votre version.
sudo /sbin/SystemStarter stop postgresql-8.4 sudo rm -rf /Applications/PostgreSQL\ 8.4 sudo rm -rf /etc/postgres-reg.ini sudo rm -rf /Library/StartupItems/postgresql-8.4 sudo rm -rf /Library/PostgreSQL/8.4 sudo dscl . delete /users/postgres
Editez / etc / profile et supprimez toutes les lignes faisant référence à “postgres”.
nano /etc/profile
Installer PostgresSQL
brew update brew install postgresql
Installer de PG GEM
gem install pg
C’est tout. Cordialement.
Vous pouvez d’abord vérifier si vous avez un fichier postrgresql dans votre terminal en allant dans le fichier lib. aller cd ~ / opt / local / lib / puis tapez ls et le bouton enter. Cela vous montrera une liste de tous les fichiers situés dans le répertoire lib.
1.si vous n’avez pas de postreseql, vous pouvez télécharger via macports. sudo port install postgresql93 @ 9.3.2_1
Maintenant cd dans votre dossier que vous essayez de regrouper l’installation
maintenant exécuter l’installation groupée
Sur Fedora:
dnf install postgresql-devel
Ce qui a fonctionné pour moi sur El Capitan était la mise à niveau de ruby du système par défaut à 2.3.1 semblait trouver les bibliothèques correctes dont le pg
gem avait besoin.