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!
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.
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.
Ich fand eine seltsame Lösung, aber es funktionierte für mich statt aller anderen Vorschläge:
%Vor%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.
Ich hatte ein ähnliches Problem mit einem fehlgeschlagenen bundle install
:
...
%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:
Überprüfen Sie die PG-Konfiguration:
$ which pg_config
gibt zurück:
/usr/local/bin/pg_config
Überprüfen Sie die aktuellen Bundle-Build-Optionen für pg
$ bundle config build.pg
which pg_config
zurückgegebene Wert, $ bundle config build.pg --with-pg-config=/usr/local/bin/pg_config
Versuche nun bundle install
!!!!
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
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.
Tags und Links ruby-on-rails postgresql pg rails-postgresql