$ 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.
Estoy hecho $ gem install pg -v '0.14.1'
Pero esto no ayuda
Mi 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 */
--------------------
Ayudame por favor. Gracias.
Perdón por este texto. Tu publicación no tiene mucho contexto para explicar las secciones del código; explique su escenario más claramente.
c
ruby-on-rails
sqlite
ruby-on-rails-3
pg
Arthur Yakovlev
fuente
fuente
Respuestas:
Solo haz esto
$ sudo apt-get install libpq-dev
fuente
libpq-fe.h
se especificara explícitamente, con--with-cflags=-I/usr/include/postgresql
, en caso de que alguien más encontrara lo mismo.Esto se responde en No se puede encontrar el encabezado 'libpq-fe.h al intentar instalar pg gem
Dependiendo de su entorno:
brew install postgresql
sudo apt-get install libpq-dev
yum install postgresql-devel
Entonces corre de
gem install pg
nuevofuente
Prueba esto:
fuente
En los sistemas Fedora / RHEL, esto funcionó:
sudo yum install libpqxx-devel
fuente
$ sudo apt-get install libpq-dev
En mi caso, estaba poniendo mal la ruta del directorio. Entonces:
Desde:
gcc -o lib_version lib_version.c -I/usr/include/postgresql -lpq -std=c99
A:
gcc -o lib_version lib_version.c -I /usr/include/postgresql -lpq -std=c99
GL
fuente
En Mac OS X, ejecute así:
gem install pg -- --with-pg-config=***/path/to/pg_config***
***/path/to/pg_config***
es la ruta a pg_configfuente
Para Amazon Linux (AWS):
sudo yum install postgresql-devel
luego ejecuta tu comando de nuevo
fuente
Tuve este problema con un servidor Jenkins en Amazon AMI.
$ pg_config | grep VERSION VERSION = PostgreSQL 9.4.9
Luego, dependiendo de la versión que necesite, puede instalar la biblioteca requerida
$ 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
Entonces puede instalar la versión correspondiente, en mi caso para la versión 9.4:
sudo yum install postgresql94-devel
fuente
Para Alpine Linux , puede agregar
libpq-fe.h
con:apk add postgresql-dev
fuente
prueba esto:
sudo apt-get install libpq-dev gem install pg
¡Sería trabajo!
fuente
En mac, asegúrese de que su postgres esté vinculado. Puedes hacerlo por
brew link --overwrite postgresql
Esto solucionó el problema para mí.
fuente
brew install postgresql
trabajó para mi.La instalación de postgresql estaba dando otro error
Error: The following directories are not writable by your user: /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3
Este error se solucionó dando acceso a los directorios mencionados al usuario actual
sudo chown -R $(whoami) (path)
fuente
Esto me estaba sucediendo usando capistrano mientras implementaba mi aplicación en una distribución centos7. Aparentemente, gem requiere algunos archivos de encabezado que se pueden resolver instalando el paquete de desarrollo correcto.
Lo arreglé ejecutándolo
sudo yum search postgres | grep devel
y encontré el paquete correcto para mi instalación de postgres, que era 10.Entonces simplemente corre
sudo yum install postgresql10-devel
, ¡y eureka!fuente
Esto funcionó para mí:
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
fuente
Yo uso Ubuntu-16. Y utilizo el método que se muestra aquí: https://www.postgresql.org/download/linux/ubuntu/ para instalar postgresql-9.6; Y
"sudo apt-get install libpq-dev"
solía instalar devlib, pero todavía no funciona. Entonces utilizo el métodoln
para establecer un enlace suave, aquí estásudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/
:;sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/
Y por fin soluciono el problema.fuente