kann pg gem nicht installieren und auf PQconnectdb () in -lpq ... no überprüfen

8

Ich versuche, in Ruby on Rails mit PostgreSQL lokal zu entwickeln, also versuche ich, das PG-Juwel zu installieren. Auf Ubuntu 12.04. Im Terminal tippte ich ein:

%Vor%

Was den folgenden Fehler auslöst:

%Vor%

Interessanterweise funktioniert das Hinzufügen eines sudo zum Befehl:

%Vor%

Übrigens musste ich "sudo apt-get install ruby1.9.1-dev" ausführen, damit der obige Befehl funktioniert. Aber ich kann immer noch keine Entwicklung machen, da "bundle install" nicht funktionieren wird (und sagt mir immer, dass ich 'gem install pg -v' 0.12.2 'ausführen soll)

Ich habe das Gefühl "Juwel installieren pg" wird bei

ausgelöst %Vor%

Aber als ein komplettes Noob zu Ubuntu und RoR habe ich keine Ahnung warum. Vielleicht stinken meine Suchfähigkeiten auch, weil ich für meinen Fall keine Lösung gefunden habe. Hoffentlich gibt es eine Lösung?

Danke!

    
user1686439 21.09.2012, 14:22
quelle

7 Antworten

4

Related: Edelstein-Installation pg kann nicht gebunden werden libpq . Bitte überprüfen Sie Ihr mkmf-Protokoll und suchen Sie mit libssl nach Fehlern. Ich hatte genau das gleiche Problem. Ich hatte libpq-dev installiert und pg_config überprüft. Es scheint, dass das Juwel die libpq-dev-Header-Dateien gefunden hatte, aber nicht mit libpq verlinkt war. Es stellte sich heraus, dass die Pakete, die rvm für ssl installiert hatte, die Pakete, die über libssl-dev installiert wurden, irgendwie störten.

    
awesome_person 30.09.2012 01:44
quelle
1

Aufgrund der von Ihnen geposteten Fehlermeldung sieht es so aus, als ob Sie libpq-dev nicht installiert haben. Probiere apt-get install libpq-dev (mit sudo , wenn du nicht root bist) und installiere dann das Juwel.

Da du RVM verwendest, wenn du jemals sudo benutzen musst, um ein Juwel zu installieren, machst du es falsch. sudo installiert den Edelstein für die Verwendung des Ruby des Systems, nicht den Ruby, den Sie mit RVM installiert haben.

    
Colin R 22.09.2012 01:36
quelle
1

Ich fand eine seltsame Lösung, aber es funktionierte für mich statt aller anderen Vorschläge:

%Vor%     
Pavel Strakhov 11.03.2013 16:04
quelle
0

Wenn sudo funktioniert und ein Standardbenutzer dies nicht tut, deutet dies entweder darauf hin, dass irgendwo Bibliotheken oder Headerdateien gefunden werden, die nicht als der andere Benutzer gefunden werden oder dass es tatsächlich ein Berechtigungsproblem gibt, das nicht richtig behandelt wird irgendwo anders. Sie könnten wahrscheinlich strace verwenden, um die Wurzel des Problems zu finden, wenn Sie wollen.

Allerdings denke ich, dass die vernünftige Lösung darin besteht, zu erkennen, dass Sie wahrscheinlich root-Zugang brauchen, um eine Menge solcher Dinge trotzdem installieren zu können, und wenn es mein System wäre, würde ich damit leben.

    
Chris Travers 30.09.2012 01:38
quelle
0

Ich hatte ein ähnliches Problem mit einem fehlgeschlagenen bundle install :

%Vor%

...

%Vor%

aber mit gem install pg -v '0.17.1' .

Ich konnte den Edelstein erfolgreich installieren, aber das Bündel würde immer noch fehlschlagen.

Ich habe es durch Ändern der Paketkonfigurationen behoben:

  1. Überprüfen Sie die PG-Konfiguration:

    $ which pg_config gibt zurück:

    /usr/local/bin/pg_config

  2. Überprüfen Sie die aktuellen Bundle-Build-Optionen für pg

$ bundle config build.pg

  1. Wenn nicht der von which pg_config zurückgegebene Wert,

$ bundle config build.pg --with-pg-config=/usr/local/bin/pg_config

Versuche nun bundle install !!!!

    
Brian Hedberg 10.10.2015 17:46
quelle
0

Für mich funktionierte nur die Installation von rvm über die Anweisungen auf der Website von rvm: Ссылка . Ich konnte es auf Ubuntu 14.04 arbeiten lassen.

Die vollständige Befehlsliste zu diesem Datum:
sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Stellen Sie sicher, dass Sie sich in einem herunterladbaren Verzeichnis befinden und dann ausführen:
\curl -sSL https://get.rvm.io | bash -s stable

    
jamescampbell 05.09.2017 16:27
quelle
-2

Wenn du sudo gem install pg machst, wird der Edelstein installiert, wo Ruby und Postgresql installiert sind. Wenn du gem install pg machst, wird das Juwel in deinem Home-Verzeichnis installiert (siehe deine Nachrichten!). Also musst du sudo bundle install blah-blah-blah für all deine Edelsteine ​​machen, da du lokal arbeitest. Es gibt natürlich andere Möglichkeiten, wie RVM, die ich nicht verwende.

    
thisfeller 21.09.2012 14:28
quelle