J'essaie d'installer la 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 ...
ruby
postgresql
pg
palani
la source
la source
apt install postgresql-server-dev-all
pour Ubuntu 18.04.Réponses:
Vous devez installer le package de développement postgreSQL avec en-tête de PostgreSQL
la source
sudo apt-get install aptitude
commencer :)yum install postgresql-devel
Après avoir lu et fouillé pendant 2 jours, et essayé beaucoup de choses trouvées dans d'autres notes, la ligne unique suivante était le remède pour moi sur Ubuntu Lucid 10.04 mélangé avec des paquets Maverick et RVM (ruby 1.9.2-p290, rvm 1.10.2 rubygems 1.8.15, rails 3.0.1, postgres 8.4.10):
le résultat:
{oui - enfin le succès} !! ! Notez que la sortie de l'exécution de pg_config n'a pas l'élément -lpq dans la variable LIBS sur mon installation Ubuntu / Postresql !!
et pourquoi le passage de pq à pg dans certains endroits - déroutant pour les débutants ??
la chose que je ne comprends toujours pas est le double ensemble de - et - avec (option mais je suis bien au-delà de ma profondeur de toute façon
la source
Je suis sur Ubuntu 12.10 et j'exécute cette commande:
m'a aidé - après avoir exécuté gem install pg -v "0.14.1", et tout va bien maintenant
la source
Besoin d'ajouter un package
installer pg gem dans RoR
la source
Dans Ubuntu, cela fonctionne pour moi, j'espère vous aider:
et
la source
L'installation de libpq-dev n'a pas fonctionné pour moi. J'avais également besoin d'installer build-essential
la source
Solution simple pour les utilisateurs ubuntu ...
Désinstallez d'abord tous les packages postgres, puis exécutez ces virgules ...
Exécutez ensuite «bundle install». Tout ira bien. Bonne journée!
la source
Pour les utilisateurs de .RVM, ce sera mieux:
cela a fonctionné pour moi (après avoir vu la version jdupont)
la source
Si vous avez installé libpq-dev et que vous rencontrez toujours ce problème, cela est probablement dû à des versions conflictuelles de libssl et d'amis d'OpenSSL - la version du système Ubuntu dans / usr / lib (avec laquelle libpq est construit) et une deuxième version RVM 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 voyant si "gem install pg" fonctionne.
Pour résoudre le problème, faites reconstruire rvm à l'aide des bibliothèques système OpenSSL (vous devrez peut-être supprimer manuellement libssl. * Et libcrypto. * Du répertoire rvm / usr / lib):
Cela a finalement résolu le problème pour moi sur Ubunto 12.04.
la source
Essaye ça
Vous devez installer le serveur PG Database en premier lieu pour installer les clients. Ensuite, vous installez des clients.
Consultez ce billet de blog pour savoir comment configurer PostGresSQL pour la première fois pour le développement de Ruby on Rails.
la source
Cela a résolu le problème pour moi sur Ubuntu 12.04 après que chaque suggestion ici ait échoué.
la source
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 bundle. Fonctionnement
suivi par
Résolu pour moi.
la source
Pour ceux qui ont encore des problèmes après avoir essayé toutes les réponses sur cette page, les éléments suivants ont (enfin) fonctionné:
C'était après avoir fait tout le reste mentionné sur cette page.
postgresql 9.5.8
Ubuntu 16.10
la source
J'ai eu le même problème et j'ai essayé beaucoup de variantes différentes. Après quelques essais, je suis devenu capable
sudo gem install
, mais j'ai toujours du mal à l'installer sans sudo.Enfin, j'ai trouvé une décission - la réinstallation de rvm m'a aidé. Cela peut probablement faire gagner du temps à quelqu'un d'autre.
la source
Une autre solution à ce problème consiste à installer PostgreSQL en utilisant Homebrew / linuxbrew:
brew install postgresql
Par habitude, je n'aime pas utiliser sudo sauf si je le dois.
la source
brew install libpq && brew link libpq --force
Pour ceux qui essaient d'installer Redmine, j'ai raté
sudo apt-get install ruby-all-dev
après avoir essayé tout ce qui précède.Erreur initiale étant
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
.la source
apt-get install ruby-dev
travaillé pour moi.la source
Une autre option consiste à utiliser Homebrew qui fonctionne sous Linux et macOS pour installer uniquement les bibliothèques de support:
brew install libpq
puis
brew link libpq --force
(l'
--force
option est requise car elle entre en conflit avec la formule postgres.)la source