$ sudo bundle install
Wynik
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.
Jestem zrobiony $ gem install pg -v '0.14.1'
Ale to nie pomaga
Mój plik 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 */
--------------------
Pomóż mi proszę. Dziękuję Ci.
Przepraszam za ten tekst. Twój post nie ma zbyt dużego kontekstu, aby wyjaśnić sekcje kodu; proszę wyjaśnij swój scenariusz jaśniej.
c
ruby-on-rails
sqlite
ruby-on-rails-3
pg
Arthur Yakovlev
źródło
źródło
Odpowiedzi:
Po prostu zrób to
$ sudo apt-get install libpq-dev
źródło
libpq-fe.h
jawnego określenia ścieżki--with-cflags=-I/usr/include/postgresql
, na wypadek gdyby ktoś inny napotkał to samo.Odpowiedź znajduje się w Nie można znaleźć nagłówka 'libpq-fe.h podczas próby instalacji pg gem
W zależności od środowiska:
brew install postgresql
sudo apt-get install libpq-dev
yum install postgresql-devel
Następnie biegnij
gem install pg
ponownieźródło
Spróbuj tego:
źródło
W systemach Fedora / RHEL to załatwiło sprawę:
sudo yum install libpqxx-devel
źródło
$ sudo apt-get install libpq-dev
W moim przypadku źle wstawiłem ścieżkę do katalogu. Więc:
Z:
gcc -o lib_version lib_version.c -I/usr/include/postgresql -lpq -std=c99
Do:
gcc -o lib_version lib_version.c -I /usr/include/postgresql -lpq -std=c99
GL
źródło
Na Mac OS X działa tak:
gem install pg -- --with-pg-config=***/path/to/pg_config***
***/path/to/pg_config***
to ścieżka do pg_configźródło
W przypadku Amazon Linux (AWS):
sudo yum install postgresql-devel
następnie ponownie uruchom polecenie
źródło
Miałem ten problem z serwerem Jenkins na Amazon AMI.
$ pg_config | grep VERSION VERSION = PostgreSQL 9.4.9
Następnie, w zależności od potrzebnej wersji, możesz zainstalować wymaganą bibliotekę lib
$ 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
Następnie możesz po prostu zainstalować odpowiednią wersję, w moim przypadku dla wersji 9.4:
sudo yum install postgresql94-devel
źródło
W przypadku Alpine Linux możesz dodać
libpq-fe.h
:apk add postgresql-dev
źródło
Spróbuj tego:
sudo apt-get install libpq-dev gem install pg
byłoby działa!
źródło
Na komputerze Mac upewnij się, że Twój postgres jest połączony. Możesz to zrobić przez
brew link --overwrite postgresql
To rozwiązało problem.
źródło
brew install postgresql
pracował dla mnie.Instalacja postgresql dawała kolejny błąd
Error: The following directories are not writable by your user: /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3
Ten błąd został naprawiony poprzez udostępnienie wspomnianych katalogów bieżącemu użytkownikowi
sudo chown -R $(whoami) (path)
źródło
Działo się tak, gdy używałem Capistrano podczas wdrażania mojej aplikacji w dystrybucji Centos7. Najwyraźniej gem wymaga plików nagłówkowych, które można rozwiązać, instalując odpowiedni pakiet deweloperski.
Naprawiłem to, uruchamiając
sudo yum search postgres | grep devel
i znalazłem odpowiedni pakiet dla mojej instalacji postgres, który był 10.Następnie po prostu biegnij
sudo yum install postgresql10-devel
i eureka!źródło
To zadziałało dla mnie:
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
źródło
Używam Ubuntu-16. I używam metody pokazanej tutaj: https://www.postgresql.org/download/linux/ubuntu/, aby zainstalować postgresql-9.6; I używam
"sudo apt-get install libpq-dev"
do instalacji devlib, ale nadal nie może działać. Więc używam metodyln
do ustanowienia miękkiego linku, oto onasudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/
:;sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/
I wreszcie rozwiązuję problem.źródło