finden Immer, wenn ich bundle install
auf meinem VPS laufen (CentOS Linux-Version 7.0.1406 (Core)) Ich erhalte eine Fehlermeldung, wenn Sie den pg gem installieren.pg gem install fehlschlägt, kann nicht libpq-fe.h Header
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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.
kann ich pg Standalone installieren mit: gem install pg -- --with-pg-config=/usr/pgsql-9.4/bin/pg_config
und das Problem behoben ist.
Also habe ich eine Capistrano-Aufgabe hinzugefügt, um eine ./bundle/config für die Bereitstellung mit dem Schlüssel build.pg mit dem Pfad zu pg_config auf meinem VPS zu erstellen. In der Capistrano config/deploy.rb
wird dies before bundler:install
aufgerufen.
desc "Create bundle config"
task :prepare_bundle_config do
on roles(:app) do
within release_path do
execute :bundle, 'config build.pg --with-pg-config=/usr/pgsql-9.4/bin/pg_config --local'
end
end
end
Ich habe die notwendigen Pakete installiert:
postgresql94-server.x86_64
postgresql94-devel.x86_64
postgresql94-libs.x86_64
libpqxx.x86_64
libpqxx-devel.x86_64
Hier sind die Capistrano * Steine I
bundle list | grep capistrano
* capistrano (3.3.5)
* capistrano-bundler (1.1.4)
* capistrano-rails (1.1.2)
* capistrano-rbenv (2.0.3)
* capistrano-stats (1.1.1)
installiert haben Was ich hier fehlt erfolgreich mit bundler pg installieren? Bitte hinterlassen Sie einen Kommentar, wenn Sie weitere Informationen benötigen und ich werde diesen Beitrag aktualisieren.
Kann Ihre benutzerdefinierte Aufgabe erfolgreich und unabhängig durch Capistrano laufen? Was hast du von Capistrano? – JoePasq
Danke für die Antwort: hier ist ein Kern mit der Ausgabe von Capistrano (mit debug) https://gist.github.com/whargrove/03ff94d1b6e7648030ed – whargrove
: prepare_bundle_config kann nicht unabhängig voneinander laufen, weil sie release_path verwendet, so ist es nur verfügbar ist, während der Bereitstellungsaufgabe. – whargrove