$ sudo bundle install
Resultado
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.
Eu sou feito, $ gem install pg -v '0.14.1'
mas isso não ajuda
Meu 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 */
--------------------
Ajude-me, por favor. Obrigado.
Desculpe por este texto. Sua postagem não tem muito contexto para explicar as seções de código; explique seu cenário mais claramente.
c
ruby-on-rails
sqlite
ruby-on-rails-3
pg
Arthur Yakovlev
fonte
fonte
Respostas:
Apenas faça isso
$ sudo apt-get install libpq-dev
fonte
libpq-fe.h
fosse especificado explicitamente,--with-cflags=-I/usr/include/postgresql
caso alguém encontrasse o mesmo.Isso é respondido em Não consigo encontrar o cabeçalho 'libpq-fe.h ao tentar instalar o pg gem
Dependendo do seu ambiente:
brew install postgresql
sudo apt-get install libpq-dev
yum install postgresql-devel
Então corra de
gem install pg
novofonte
Experimente isto:
fonte
Em sistemas Fedora / RHEL, isso funcionou:
sudo yum install libpqxx-devel
fonte
$ sudo apt-get install libpq-dev
No meu caso, eu estava colocando o caminho do diretório errado. Então:
De:
gcc -o lib_version lib_version.c -I/usr/include/postgresql -lpq -std=c99
Para:
gcc -o lib_version lib_version.c -I /usr/include/postgresql -lpq -std=c99
GL
fonte
No Mac OS X, execute assim:
gem install pg -- --with-pg-config=***/path/to/pg_config***
***/path/to/pg_config***
é o caminho para pg_configfonte
Para Amazon Linux (AWS):
sudo yum install postgresql-devel
então execute seu comando novamente
fonte
Tive esse problema com um servidor Jenkins na Amazon AMI.
$ pg_config | grep VERSION VERSION = PostgreSQL 9.4.9
Então, dependendo de qual versão você precisa, você pode instalar a lib necessária
$ 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
Em seguida, você pode apenas instalar a versão correspondente, no meu caso para a versão 9.4:
sudo yum install postgresql94-devel
fonte
Para Alpine Linux , você pode adicionar
libpq-fe.h
com:apk add postgresql-dev
fonte
tente isto:
sudo apt-get install libpq-dev gem install pg
seria trabalhos!
fonte
No mac, certifique-se de que seu postgres está vinculado. Você pode fazer isso por
brew link --overwrite postgresql
Isso resolveu o problema para mim.
fonte
brew install postgresql
trabalhou para mim.A instalação do postgresql estava dando outro erro
Error: The following directories are not writable by your user: /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3
Este erro foi corrigido fornecendo acesso aos diretórios mencionados para o usuário atual
sudo chown -R $(whoami) (path)
fonte
Isso estava acontecendo comigo usando capistrano ao implantar meu aplicativo em uma distro centos7. Aparentemente, o gem está exigindo alguns arquivos de cabeçalho que podem ser resolvidos instalando o pacote de desenvolvimento correto.
Eu consertei correndo
sudo yum search postgres | grep devel
e encontrei o pacote certo para minha instalação do postgres que era 10.Em seguida, basta correr
sudo yum install postgresql10-devel
e eureka!fonte
Isso funcionou para mim:
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
fonte
Eu uso o Ubuntu-16. E eu uso o método mostrado aqui: https://www.postgresql.org/download/linux/ubuntu/ para instalar o postgresql-9.6; E eu uso
"sudo apt-get install libpq-dev"
para instalar o devlib. Mas ainda não funciona. Então eu uso o métodoln
para estabelecer o soft link, aqui estásudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/
:;sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/
E eu finalmente resolvo o problema.fonte