Quand je cours (en tant que root)
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Je reçois la sortie suivante:
#-> gem instal pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Building native extensions. This could take a while...
Successfully installed pg-0.12.0
1 gem installed
Installing ri documentation for pg-0.12.0...
Installing RDoc documentation for pg-0.12.0...
#->
Quand j'exécute bundle install:
Installing pg (0.12.0) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/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
--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=/usr/local/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 /var/www/simpletrac/vendor/cache/Ruby/1.9.1/gems/pg- 0.12.0 for inspection.
Results logged to /var/www/simpletrac/vendor/cache/Ruby/1.9.1/gems/pg-0.12.0/ext/gem_make.out
An error occured while installing pg (0.12.0), and Bundler cannot continue.
Make sure that `gem install pg -v '0.12.0'` succeeds before bundling.
J'ai installé libpq-fe.h à /usr/pgsql-9.1/include/libpq-fe.h. Alors j'ai essayé
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config --with-pg-lib=/usr/pgsql-9.1/include/libpq-fe.h but still no go.
Toute aide serait grandement appréciée.
En outre, j'ai installé postgresql91-devel et Ruby-devel. Lancer CentOS 6.
Avez-vous essayé d'exécuter ceci avant d'exécuter bundle install
?
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Si quelqu'un a utilisé macports pour installer postgres et a du mal à trouver son pg_config, essayez ceci:
bundle config build.pg --with-pg-config=/opt/local/lib/postgresql91/bin/pg_config
J'espère que cela aide quelqu'un à gagner du temps. À votre santé!
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
cela retournera ==> /usr/pgsql-9.1/bin/pg_config
maintenant utiliser ce chemin comme
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Fait maintenant bundle install
Avait le même problème, résolu en installant libpq-dev.
Réf.: https://bitbucket.org/ged/Ruby-pg/issue/83/help-gem-install-pg-failed-on-opensuse-103
Je suis sur Mac et j'utilise Homebrew. Pour résoudre ce problème, je viens d'installer Postgresql avec brew:
brew install postgresql
Et puis installé la gemme.
Vous pouvez obtenir cette erreur si vous avez installé pg_config mais ce n’est dans aucun chemin. Vous pouvez l'ajouter à votre env. PATH dans votre ~/.bashrc.
Par exemple.
export PATH=${PATH}:/usr/pgsql-9.2/bin
Je devais le faire pour réparer le mien sur OS X:
export PATH=/opt/local/lib/postgresql84/bin/:$PATH
Et je devais le faire malgré le fait que j'avais déjà cela sur mon chemin:
[user@foo ~] which psql84
/opt/local/bin/psql84
[user@foo ~] ls -altrh /opt/local/bin/psql84
lrwxr-xr-x 1 root admin 36B Dec 7 02:15 /opt/local/bin/psql84 -> /opt/local/lib/postgresql84/bin/psql
J'espère que cela aidera un autre utilisateur Mac à résoudre ce problème.
Le gem Postgres ne trouve pas le fichier de configuration Postgres. Vous devez dire où il se trouve. À mon avis, la solution la plus agréable consiste à éviter Brew et MacPorts et à utiliser simplement l'application Postgres. Téléchargez et installez à partir d'ici:
Maintenant, ajoutez le dossier bin à votre chemin:
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
Vous pouvez aussi ajouter ceci à votre ~/.bash_profile
Maintenant, installez la gemme:
gem install pg
ça devrait aller en douceur.
J'utilise Arch Linux et je rencontrais des problèmes similaires. Sudo pacman -S libpqxx
utilisé et relancer ensuite installé la gem pg puis exécuté bundle install
à nouveau, et cette fois cela a finalement fonctionné!
This link a suggéré d'utiliser:
gem install pg --pre
Je n'ai pas pu installer le pg gem
pendant plusieurs jours, mais cette méthode a finalement fonctionné pour moi. J'espère que cela vous sera utile.
Essaye ça:
yum install libpqxx-devel
Cela fonctionne avec Postgr9.2.
Lorsque vous utilisez postgresapp sur Mac, lisez la documentation http://postgresapp.com/documentation/cli-tools.html et configurez votre $ PATH. Avant cela, essayez de relancer l’installation du bundle.
sous OSX, installez d'abord pg:
brew install postgresql
deuxièmement, est-ce que gem install:
gem install pg --source 'https://rubygems.org/'
vous pouvez ensuite exécuter bundle install
Assurez-vous d'avoir installé Postgres. sinon installez-le d'abord. Utiliser un terminal par exemple.
brew install postgresql
Après cette course
bundle install
gem install pg -v '0.17.1'
A fait le tour pour moi.
Quelques cas sur UBUNTU
Sudo apt-get install libpq-dev
Sur CentOS 7
Sudo yum install postgresql-devel
Ensuite
bundle install
cela a fonctionné pour moi.