Ich versuche, PostgreSQLs pg gem für Ruby zu installieren.
Ich habe den folgenden Befehl ausgegeben:
gem install pg
Ich habe Ruby 1.9.2 mit RVM installiert.
Der obige Befehl zeigt mir den folgenden Fehler.
Der Fehler ist:
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
Ich weiß nicht, was der Fehler ist ...
ruby
postgresql
pg
Palani
quelle
quelle
apt install postgresql-server-dev-all
für Ubuntu 18.04.Antworten:
Sie müssen das PostgreSQL-Entwicklungspaket mit dem Header von PostgreSQL installieren
quelle
sudo apt-get install aptitude
:)yum install postgresql-devel
Nachdem ich 2 Tage lang gelesen und herumgeschlagen und viele Dinge ausprobiert hatte, die in anderen Notizen zu finden waren, war die folgende einzelne Zeile für mich das Heilmittel für Ubuntu Lucid 10.04, gemischt mit einigen Maverick-Paketen und RVM (Ruby 1.9.2-p290, RVM 1.10.2 Rubygems) 1.8.15, Schienen 3.0.1, Postgres 8.4.10):
das Ergebnis:
{ja - endlich Erfolg} !! ! Beachten Sie, dass der Ausgabe von pg_config das Element -lpq in der LIBS-Variablen meiner Ubuntu / Postresql-Installation fehlt !!
und warum der Wechsel von pq zu pg an bestimmten Stellen - verwirrend für Neuling?
Das, was ich immer noch nicht verstehe, ist die doppelte Menge von - und - mit (Option, aber ich bin trotzdem weit über meine Tiefe hinaus
quelle
Ich bin auf Ubuntu 12.10 und führe diesen Befehl aus:
hat mir geholfen - danach lief gem install pg -v "0.14.1" und jetzt alles gut
quelle
Müssen Paket hinzufügen
um pg gem in RoR zu installieren
quelle
In Ubuntu funktioniert das bei mir, ich hoffe dir zu helfen:
und
quelle
Die Installation von libpq-dev hat bei mir nicht funktioniert. Ich musste auch Build-Essential installieren
quelle
Einfache Lösung für Ubuntu-Benutzer ...
Deinstallieren Sie zuerst alle Postgres-Pakete und führen Sie dann diese Befehle aus ...
Führen Sie dann "Bundle-Installation" aus. Alles wird gut. Haben Sie einen guten Tag!
quelle
Für .RVM-Benutzer ist es besser:
es hat bei mir funktioniert (nachdem ich die jdupont version gesehen habe)
quelle
Wenn Sie libpq-dev installiert haben und dieses Problem weiterhin haben, liegt dies wahrscheinlich an widersprüchlichen Versionen von libSSl und Freunden von OpenSSL - der Ubuntu-Systemversion in / usr / lib (gegen die libpq erstellt wurde) und einer zweiten Version von RVM, die in $ installiert ist HOME / .rvm / usr / lib (oder / usr / local / rvm / usr / lib, wenn es sich um eine Systeminstallation handelt). Sie können dies überprüfen, indem Sie $ HOME / .rvm / usr / lib vorübergehend umbenennen und prüfen, ob "gem install pg" funktioniert.
Um das Problem zu lösen, müssen Sie rvm mithilfe der OpenSSL-Systembibliotheken neu erstellen (möglicherweise müssen Sie libssl. * Und libcrypto. * Manuell aus dem Verzeichnis rvm / usr / lib entfernen):
Dies löste schließlich das Problem für mich unter Ubunto 12.04.
quelle
Versuche dies
Sie sollten zuerst den PG-Datenbankserver installieren, um Clients zu installieren. Anschließend installieren Sie Clients.
In diesem Blogbeitrag erfahren Sie, wie Sie PostGresSQL zum ersten Mal für die Entwicklung von Ruby on Rails einrichten.
quelle
Dies löste das Problem für mich unter Ubuntu 12.04, nachdem jeder Vorschlag hier fehlgeschlagen war.
quelle
Ich habe versucht, ein Rails-Projekt in meinem frisch installierten Ubuntu 16.04 einzurichten. Ich bin beim Ausführen des Bundles auf dasselbe Problem gestoßen. Laufen
gefolgt von
Hat es für mich gelöst.
quelle
Für alle, die nach dem Ausprobieren aller Antworten auf dieser Seite immer noch Probleme haben, hat Folgendes (endlich) funktioniert:
Dies geschah, nachdem alles andere auf dieser Seite erwähnt wurde.
postgresql 9.5.8
Ubuntu 16.10
quelle
Ich hatte das gleiche Problem und habe viele verschiedene Varianten ausprobiert. Nach einigen Versuchen wurde ich in der Lage
sudo gem install
, aber immer noch Probleme, es ohne Sudo zu installieren.Schließlich fand ich eine Entscheidung - die Neuinstallation von rvm half mir. Wahrscheinlich kann es jemand anderem Zeit sparen.
quelle
Eine andere Lösung für dieses Problem ist die Installation von PostgreSQL mit Homebrew / linuxbrew:
brew install postgresql
Aus Gewohnheit benutze ich Sudo nicht gerne, es sei denn, ich muss.
quelle
brew install libpq && brew link libpq --force
Für diejenigen, die versuchen, Redmine zu installieren, habe ich es verpasst,
sudo apt-get install ruby-all-dev
nachdem ich alle oben genannten Versuche unternommen habe .Anfänglicher Fehler ist
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
.quelle
apt-get install ruby-dev
arbeitete für mich.quelle
Eine andere Möglichkeit ist die Verwendung von Homebrew, das unter Linux und MacOS funktioniert, um nur die unterstützenden Bibliotheken zu installieren:
brew install libpq
dann
brew link libpq --force
(Die
--force
Option ist erforderlich, da sie mit der Postgres-Formel in Konflikt steht.)quelle