$ sudo bundle install
Результат
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.
Я делаю, $ gem install pg -v '0.14.1'
но это не помогает
Мой 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 */
--------------------
Помоги мне, пожалуйста. Спасибо.
Извините за этот текст. В вашем сообщении не так много контекста, чтобы объяснить разделы кода; пожалуйста, объясните свой сценарий более четко.
c
ruby-on-rails
sqlite
ruby-on-rails-3
pg
Артур Яковлев
источник
источник
Ответы:
Просто сделай это
$ sudo apt-get install libpq-dev
источник
libpq-fe.h
явном указании пути на--with-cflags=-I/usr/include/postgresql
случай, если кто-то еще обнаружит то же самое.Ответ на этот вопрос находится в статье Не удается найти заголовок libpq-fe.h при попытке установить pg gem.
В зависимости от вашей среды:
brew install postgresql
sudo apt-get install libpq-dev
yum install postgresql-devel
Тогда беги
gem install pg
сноваисточник
Попробуй это:
источник
В системах Fedora / RHEL это помогло:
sudo yum install libpqxx-devel
источник
$ sudo apt-get install libpq-dev
В моем случае я неправильно указывал путь к каталогу. Так:
Из:
gcc -o lib_version lib_version.c -I/usr/include/postgresql -lpq -std=c99
Кому:
gcc -o lib_version lib_version.c -I /usr/include/postgresql -lpq -std=c99
GL
источник
В Mac OS X запустите так:
gem install pg -- --with-pg-config=***/path/to/pg_config***
***/path/to/pg_config***
путь к pg_configисточник
Для Amazon Linux (AWS):
sudo yum install postgresql-devel
затем снова запустите свою команду
источник
У меня была эта проблема с сервером Jenkins на Amazon AMI.
$ pg_config | grep VERSION VERSION = PostgreSQL 9.4.9
Затем, в зависимости от того, какая версия вам нужна, вы можете установить необходимую библиотеку
$ 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
Затем вы можете просто установить соответствующую версию, в моем случае для версии 9.4:
sudo yum install postgresql94-devel
источник
За Alpine Linux вы можете добавить
libpq-fe.h
:apk add postgresql-dev
источник
попробуй это:
sudo apt-get install libpq-dev gem install pg
было бы работать!
источник
На Mac убедитесь, что ваш postgres связан. Вы можете сделать это
brew link --overwrite postgresql
Это устранило проблему для меня.
источник
brew install postgresql
работал у меня.Установка postgresql давала еще одну ошибку
Error: The following directories are not writable by your user: /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3
Эта ошибка была исправлена путем предоставления доступа к указанным каталогам текущему пользователю.
sudo chown -R $(whoami) (path)
источник
Это происходило со мной, используя capistrano при развертывании моего приложения в дистрибутиве centos7. Очевидно, гем требует некоторых файлов заголовков, которые можно решить, установив правильный пакет разработки.
Я исправил это, запустив
sudo yum search postgres | grep devel
и нашел правильный пакет для моей установки postgres, который был 10.Тогда просто беги
sudo yum install postgresql10-devel
и эврика!источник
Это сработало для меня:
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
источник
Я использую Ubuntu-16. И я использую метод, показанный здесь: https://www.postgresql.org/download/linux/ubuntu/ для установки postgresql-9.6; И я использую
"sudo apt-get install libpq-dev"
для установки devlib, но он все равно не работает. Итак, я использую методln
для установки софт-ссылки, вот онsudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/
:;sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/
И наконец решаю проблему.источник