J'essaie d'installer le gem pg de PostgreSQL pour Ruby.
J'ai émis la commande suivante:
gem install pg
J'ai installé Ruby 1.9.2 en utilisant RVM.
La commande ci-dessus me montre l'erreur suivante.
L'erreur est:
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/home/User/.rvm/rubies/Ruby-1.9.2-preview3/bin/Ruby extconf.rb
checking for pg_config... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** 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=/home/User/.rvm/rubies/Ruby-1.9.2-preview3/bin/Ruby
--with-pg
--without-pg
--with-pg-config
--without-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--enable-static-build
--disable-static-build
--with-pqlib
--without-pqlib
--with-libpqlib
--without-libpqlib
--with-ms/libpqlib
--without-ms/libpqlib
Gem files will remain installed in /home/user/.rvm/gems/Ruby-1.9.2-preview3/gems/pg-0.9.0 for inspection.
Results logged to /home/user/.rvm/gems/Ruby-1.9.2-preview3/gems/pg-0.9.0/ext/gem_make.out
Je ne sais pas quelle est l'erreur ...
Vous devez installer le paquet dev postgreSQL avec l’en-tête de PostgreSQL.
Sudo apt-get install libpq-dev
Après avoir lu et lutté pendant 2 jours, et essayé beaucoup de choses trouvées dans d’autres notes, la ligne suivante était le remède pour moi sur Ubuntu Lucid 10.04 mélangé à des paquets Maverick et à RVM (Ruby 1.9.2-p290, version 1.10.2 rubygems 1.8.15, Rails 3.0.1, postgres 8.4.10):
gem install pg -- --with-pg-lib=/usr/lib
le résultat:
Building native extensions. This could take a while...
Successfully installed pg-0.13.1
1 gem installed
Installing ri documentation for pg-0.13.1...
Installing RDoc documentation for pg-0.13.1...
{oui - enfin le succès} !! ! Notez que la sortie de l'exécution de pg_config manque de l'élément -lpq dans la variable LIBS de mon installation Ubuntu/Postresql !!
et pourquoi le passage de pq à pg dans certains endroits - déroutant pour les débutants?
ce que je ne comprends toujours pas, c’est le double jeu de - et - avec (option mais je suis bien au-delà de ma profondeur de toute façon
Je suis sur Ubuntu 12.10 et j'exécute cette commande:
apt-get install libpq-dev
m'a aidé - après cela couru gem installer pg -v "0.14.1", et tout bon maintenant
Besoin d'ajouter un paquet
Sudo apt-get install libpq-dev
installer pg gem dans RoR
L'installation de libpq-dev n'a pas fonctionné pour moi. J'avais aussi besoin d'installer build-essential
Sudo apt-get install libpq-dev build-essential
Solution simple pour les utilisateurs d'ubuntu ...
Commencez par désinstaller tous les paquets postgres, puis lancez ces commandes ...
Sudo apt-get install postgresql
Sudo apt-get install postgresql-client libpq5 libpq-dev
# for rvm (single user)
mv ~/.rvm/usr/lib ~/.rvm/usr/lib_rvm
# for rvm (multi-user)
mv /usr/local/rvm/usr/lib /usr/local/rvm/usr/lib_rvm
gem install pg -- --with-pg-lib=/usr/lib
Puis lancez 'bundle install'. Tout ira bien. Bonne journée!
Dans Ubuntu, cela fonctionne pour moi, j'espère vous aider:
Sudo apt-get install libpq-dev
et
gem install pg -- --with-pg-lib=/usr/lib
Pour les utilisateurs de .RVM, ce sera mieux:
rvmsudo gem install pg -- --with-pg-lib=/usr/lib
cela a fonctionné pour moi (après avoir vu la version de jdupont)
Si vous avez installé libpq-dev et que vous rencontrez toujours ce problème, cela est probablement dû aux versions en conflit de libssl et de ses amis OpenSSL - la version du système Ubuntu dans/usr/lib (sur laquelle libpq est construit) et une deuxième version installée dans $ HOME/.rvm/usr/lib (ou/usr/local/rvm/usr/lib s'il s'agit d'une installation système). Vous pouvez le vérifier en renommant temporairement $ HOME/.rvm/usr/lib et en vérifiant si "gem install pg" fonctionne.
Pour résoudre le problème, rvm reconstruit à l'aide des bibliothèques système OpenSSL (vous devrez peut-être supprimer manuellement libssl. * Et libcrypto. * Du répertoire rvm/usr/lib):
rvm reinstall 1.9.3 --with-openssl-dir=/usr
Cela a finalement résolu le problème pour moi sur Ubunto 12.04.
Essaye ça
Sudo apt-get install postgresql postgresql-contrib libpq-dev
Vous devez installer le serveur de base de données PG en premier lieu pour installer les clients. Ensuite, vous installez des clients.
Cela a résolu le problème pour moi sur Ubuntu 12.04 après que chaque suggestion ait échoué.
rvmsudo gem install pg -v '0.12.2' -- --with-pg-lib=/usr/include/postgresql
J'essayais de configurer un projet Rails dans mon Ubuntu 16.04 fraîchement installé. J'ai rencontré le même problème lors de l'exécution du paquet. Fonctionnement
Sudo apt-get install aptitude
suivi par
Sudo apt-get install libpq-dev
Résolu pour moi.
Pour ceux qui ont toujours des problèmes après avoir essayé toutes les réponses sur cette page, voici ce qui a fonctionné (enfin):
Sudo apt-get install libgmp3-dev
gem install pg
C'était après faire tout le reste mentionné sur cette page.
postgresql 9.5.8
Ubuntu 16.10
J'ai eu le même problème et j'ai essayé beaucoup de variantes. Après quelques essais, je suis devenu capable de Sudo gem install
, mais j'ai toujours du mal à l'installer sans Sudo.
Enfin, j'ai trouvé une décision - la réinstallation de RVM m'a aidé. Cela peut probablement faire gagner du temps à quelqu'un d'autre.
Pour ceux qui essayent d’installer Redmine, j’ai manqué Sudo apt-get install Ruby-all-dev
après avoir essayé tout ce qui précède.
L'erreur initiale était mkmf.rb can't find header files for Ruby at /usr/lib/Ruby/include/Ruby.h
.
Une autre solution à ce problème consiste à installer PostgreSQL avec Homebrew/linuxbrew:
brew install postgresql
Par habitude, je n'aime pas utiliser Sudo à moins que je ne sois obligé de le faire.
apt-get install Ruby-dev
a travaillé pour moi.