Lorsque j'essaie d'exécuter bundle (installation de bundle), 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 la 9.1. J'ai trouvé que le problème se trouve dans libpq-dev , comment pourrais-je installer/réparer cela?
Comme indiqué dans votre journal des erreurs, vous devez indiquer le chemin d'accès à pg_config. Essayez d'installer la gemme 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 sous Linux ou Mac, vous pouvez exécuter la commande suivante:
which pg_config
Votre pg-config peut être à 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
Ensuite
gem install pg
puis
bundle install
src: http://wikimatze.de/installing-postgresql-gem-under-ubuntu-and-mac
Si vous utilisez Postgress.app , vous aurez alors besoin d'accéder à ses outils de ligne de commande . Entrez la ligne suivante dans votre terminal ou dans 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.)
Note Le nouveau chemin des versions ressemble à ceci:
/Applications/Postgres.app/Contents/Versions/<version>/bin
Si vous avez un homebrew, tapez simplement:
$ brew installer postgresql
Si vous ne l'avez pas, téléchargez en tapant ceci dans votre terminal:
Ruby -e "$ (curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install )"
Recherche de libpq:
brew search libpq
Doit produire libpqxx
Ensuite, essayez de l'installer:
brew install libpqxx
Il vous suffit d'installer libpq-dev
:
Sudo apt-get install libpq-dev
Ensuite, la gemme devrait installer très bien.
Suivez les instructions de post-installation: http://postgresapp.com/documentation/configuration-Ruby.html
Pour installer la gemme pg, assurez-vous que vous avez correctement configuré votre $ PATH (comme indiqué dans http://postgresapp.com/documentation/cli-tools.html ), puis exécutez
Sudo ARCHFLAGS="-Arch x86_64" gem install pg
Je fortement recommande de lire les deux pages. Il suffit de les écrémer et j'ai perdu 1 heure de ma vie. Lisez-les, le problème est résolu.
Le problème que j’avais, c’est que pour une raison quelconque, il essayait de compiler avec /usr/bin/gcc-4.2. Je l'ai découvert en modifiant try_cpp dans mkmf.rb (que j'ai vu dans la trace de la pile) pour générer une exception avec la ligne de compilation qui échouait.
Je soft-lié gcc à 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-strings -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 bundle update
et cela a également fonctionné pour moi. Merci Ari.
J'ai eu le même problème dans ma machine KDE openSUSE13.1. Avant ce problème, je n'avais installé que les packages postgresql
et postgresql-server
à l'aide de la commande zypper
. Puis installé à nouveau 2 autres paquets:
[arup@to_do_app]$ Sudo zypper in postgresql-devel postgresql-contrib
root's password:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
#....
Ensuite, j'ai relancé bundle install
, et le succès !!!
Vous pouvez définir une option de configuration 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 d'accès à pg_config peut être différent pour vous, celui-ci concerne Postgresapp 9.3.5.0)
Tout d’abord, désinstallez toutes les versions de 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
Éditez/etc/profile et supprimez toutes les lignes qui font 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.
Ce qui a fonctionné pour moi sur El Capitan était de mettre Ruby à niveau depuis la version 2.3.1 par défaut du système, qui semblait trouver les bonnes bibliothèques dont la gemme pg
avait besoin.
Vous pouvez d’abord vérifier si vous avez un fichier postrgresql dans votre terminal en allant dans le fichier lib. allez sur cd ~/opt/local/lib/puis tapez ls et le bouton Entrée. Cela vous montrera une liste de tous les fichiers situés dans le répertoire lib.
1.si vous n’avez pas postreseql, vous pouvez télécharger via macports . Le port de Sudo installer postgresql93 @ 9.3.2_1
Cd maintenant dans votre dossier que vous essayez de regrouper l’installation
lancez maintenant bundle install
Sur Fedora:
dnf install postgresql-devel
Pour une solution OSX opérationnelle, 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 à travers l’installation de PostgreSQL en utilisant homebrew. Testé et travaillant pour moi sous OSX 10.8.3, PostgreSQL 9.2.3 et Ruby 2.0.0-p0