$ sudo bundle install
Ergebnis
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Using rake (0.9.2.2)
Using i18n (0.6.1)
Using multi_json (1.3.6)
Using activesupport (3.2.8)
Using builder (3.0.4)
Using activemodel (3.2.8)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.1)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.1.3)
Using actionpack (3.2.8)
Using mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.11)
Using mail (2.4.4)
Using actionmailer (3.2.8)
Using arel (3.0.2)
Using tzinfo (0.3.33)
Using activerecord (3.2.8)
Using activeresource (3.2.8)
Using bundler (1.2.1)
Using coffee-script-source (1.4.0)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.7.5)
Using rdoc (3.12)
Using thor (0.16.0)
Using railties (3.2.8)
Using coffee-rails (3.2.2)
Using jquery-rails (2.1.3)
Installing pg (0.14.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
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.
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=/usr/bin/ruby1.8
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Gem files will remain installed in /var/lib/gems/1.8/gems/pg-0.14.1 for inspection.
Results logged to /var/lib/gems/1.8/gems/pg-0.14.1/ext/gem_make.out
An error occurred while installing pg (0.14.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.
Ich mache $ gem install pg -v '0.14.1'
aber das ist keine Hilfe
Mein Gemfile
source 'https://rubygems.org'
#gem 'rails', '3.0.9'
#gem 'sqlite3', '1.3.6', :group => :development
gem 'rails', '3.2.8'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
gem 'pg'
gem 'taps'
gem 'json'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
#group :production do
#gem 'pg'
#end
#group :development do
#gem 'sqlite3'
#end
gem_make.out
/usr/bin/ruby1.8 extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
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.
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=/usr/bin/ruby1.8
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
mkmf.log
find_executable: checking for pg_config... -------------------- yes
--------------------
find_header: checking for libpq-fe.h... -------------------- no
"gcc -E -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -o conftest.i"
conftest.c:1:22: fatal error: libpq-fe.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include <libpq-fe.h>
/* end */
--------------------
Hilf mir bitte. Vielen Dank.
Entschuldigung für diesen Text. Ihr Beitrag hat nicht viel Kontext, um die Codeabschnitte zu erklären. Bitte erläutern Sie Ihr Szenario klarer.
ruby-on-rails
ruby-on-rails-3
sqlite
pg
Arthur Yakovlev
quelle
quelle
Antworten:
Mach das einfach
$ sudo apt-get install libpq-dev
quelle
libpq-fe.h
explizit angegeben werden,--with-cflags=-I/usr/include/postgresql
falls jemand anderes auf dasselbe stößt.Dies wird unter Kann den Header 'libpq-fe.h nicht finden, wenn versucht wird, pg gem zu installieren
Abhängig von Ihrer Umgebung:
brew install postgresql
sudo apt-get install libpq-dev
yum install postgresql-devel
Dann
gem install pg
wieder laufenquelle
Versuche dies:
quelle
Auf Fedora / RHEL-Systemen hat dies den Trick getan:
sudo yum install libpqxx-devel
quelle
$ sudo apt-get install libpq-dev
In meinem Fall habe ich den Verzeichnispfad falsch angegeben. Damit:
Von:
gcc -o lib_version lib_version.c -I/usr/include/postgresql -lpq -std=c99
Zu:
gcc -o lib_version lib_version.c -I /usr/include/postgresql -lpq -std=c99
GL
quelle
Unter Mac OS X laufen Sie wie folgt ab:
gem install pg -- --with-pg-config=***/path/to/pg_config***
***/path/to/pg_config***
ist der Pfad zu pg_configquelle
Für Amazon Linux (AWS):
sudo yum install postgresql-devel
Führen Sie dann Ihren Befehl erneut aus
quelle
Ich hatte dieses Problem mit einem Jenkins-Server auf Amazon AMI.
$ pg_config | grep VERSION VERSION = PostgreSQL 9.4.9
Abhängig von der benötigten Version können Sie dann die erforderliche Bibliothek installieren
$ sudo yum list postgresql* | grep devel postgresql92-devel.x86_64 9.2.18-1.59.amzn1 @amzn-main postgresql94-devel.x86_64 9.4.9-1.67.amzn1 @amzn-main postgresql8-devel.x86_64 8.4.20-5.52.amzn1 amzn-main postgresql93-devel.x86_64 9.3.14-1.62.amzn1 amzn-main postgresql95-devel.x86_64 9.5.4-1.71.amzn1 amzn-main
Dann können Sie einfach die entsprechende Version installieren, in meinem Fall für Version 9.4:
sudo yum install postgresql94-devel
quelle
Für Alpine Linux können Sie Folgendes hinzufügen
libpq-fe.h
:apk add postgresql-dev
quelle
Versuche dies:
sudo apt-get install libpq-dev gem install pg
es wäre funktioniert!
quelle
Stellen Sie auf dem Mac sicher, dass Ihr Postgres verlinkt ist. Sie können es tun, indem Sie
brew link --overwrite postgresql
Dies hat das Problem für mich behoben.
quelle
brew install postgresql
arbeitete für mich.Die Installation von postgresql ergab einen weiteren Fehler
Error: The following directories are not writable by your user: /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3
Dieser Fehler wurde behoben, indem dem aktuellen Benutzer Zugriff auf die genannten Verzeichnisse gewährt wurde
sudo chown -R $(whoami) (path)
quelle
Dies geschah, als ich capistrano verwendete, während ich meine App in einer centos7-Distribution bereitstellte. Anscheinend benötigt gem einige Header-Dateien, die durch die Installation des richtigen Entwicklungspakets behoben werden können.
Ich habe es durch Ausführen behoben
sudo yum search postgres | grep devel
und das richtige Paket für meine Postgres-Installation gefunden, nämlich 10.Dann einfach laufen
sudo yum install postgresql10-devel
und eureka!quelle
Das hat bei mir funktioniert:
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
quelle
Ich benutze Ubuntu-16. Und ich verwende die hier gezeigte Methode: https://www.postgresql.org/download/linux/ubuntu/ , um postgresql-9.6 zu installieren; Und ich benutze
"sudo apt-get install libpq-dev"
, um die devlib zu installieren. Aber es kann immer noch nicht funktionieren. Also benutze ich die Methodeln
, um einen Softlink herzustellen, hier ist es :sudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/
;sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/
Und ich löse das Problem endlich.quelle