yml while the specified rails postgres occurred not new myapp its installing for error ensure cannot but and ruby-on-rails ruby postgresql rubygems

ruby on rails - while - Al no poder instalar pg gem, "mkmf.rb no puede encontrar archivos de encabezado para ruby"(Mac OSX 10.6.5)



rails postgresql (10)

En general, los paquetes de gemas para Postgres quieren saber dónde se esconde pg_config. . .

Bien, este podría ser el truco. Si acaba de instalar PostgreSQL y lo agregó a su ruta, e hizo "bundle install" en un shell antiguo, no podrá encontrar pg_config. Si ese es el caso, solo consigue un nuevo shell y vuelve a intentarlo. De lo contrario, siga los pasos anteriores para encontrarlo y hacer que lo vea el bundler.

La instalación de macports para postgresql83 funciona bien y funciona bien con rieles de inmediato, esa es otra manera de hacerlo.

Acabo de actualizar a Rails 3 y tuve un poco de lío con MacPorts, gemas y bases de datos para resolver. Tiré todas las gemas y las instalé frescas. Todo parece estar bien, excepto por el requisito de la gema pg.

Después de crear un nuevo proyecto de Rails 3, preparado para PostgreSQL, el servidor no se iniciaría, quejándose de la gema de pg que faltaba. Haciendo la bundle install , siguió adelante durante un tiempo y, por supuesto, falla en la gema pg.

Installing pg (0.10.0) with native extensions /Library/Ruby/Site/1.8/rubygems/installer.rb:483:in `build_extensions'': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb mkmf.rb can''t find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/pg-0.10.0 for inspection. Results logged to /Library/Ruby/Gems/1.8/gems/pg-0.10.0/ext/gem_make.out from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `each'' from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `build_extensions'' from /Library/Ruby/Site/1.8/rubygems/installer.rb:198:in `install'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/source.rb:95:in `install'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:55:in `run'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:44:in `run'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:8:in `install'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/cli.rb:225:in `install'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `send'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `run'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb:246:in `dispatch'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb:389:in `start'' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/bin/bundle:13 from /usr/bin/bundle:19:in `load'' from /usr/bin/bundle:19

La sugerencia más común que he encontrado en foros y blogs es (re) instalar las herramientas de desarrollo de XCode. Ya estaban allí, pero los reinstalé de todos modos, sin un resultado mejor que el anterior.

which ruby dice /usr/bin/ruby , y ruby -v dice ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] , si hay alguna pista allí.

Los punteros son bienvenidos. Cualquier información faltante que ayude a resolver esto, con mucho gusto y con prontitud proporcionaré!

Descargué XCode ya que se dice que la versión del DVD está rota y las cosas fueron mejor por un tiempo. bundle install comenzó a hablar de "archflags" en su lugar, así que hice:

sudo env ARCHFLAGS="-arch i386" bundle install

y las cosas parecieron ir bien, hasta que Bars comenzó a barrear, diciendo:

/Library/Ruby/Gems/1.8/gems/pg-0.10.0/lib/pg_ext.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/pg-0.10.0/lib/pg_ext.bundle, 9): no suitable image found. Did find: (LoadError) /Library/Ruby/Gems/1.8/gems/pg-0.10.0/lib/pg_ext.bundle: mach-o, but wrong architecture - /Library/Ruby/Gems/1.8/gems/pg-0.10.0/lib/pg_ext.bundle

Buscando algo, probé la bundle install con archflags configurados en -arch x86_64 , pero no funcionó bien:

*** Your PostgreSQL installation doesn''t seem to have an architecture in common with the running ruby interpreter ([] vs. ["x86_64"]) I''ll continue anyway, but if it fails, try setting ARCHFLAGS. [...] Can''t find the PostgreSQL client library (libpq) *** extconf.rb failed ***

¿Es libpq algo a lo que ahora tengo que proporcionar un camino a través de algunas banderas? ¿O estoy completamente fuera de comer?


Acabo de pasar mucho tiempo haciendo que esto funcione esta noche. Vi un error similar a esto:

Can''t find the PostgreSQL client library (libpq) *** extconf.rb failed ***

Probé diferentes variaciones de instalación de gemas:

gem install pg -- --with-pg-config=/Library/PostgreSQL/9.1/bin/ --with-pg-lib=/Library/PostgreSQL/9.1/lib/ --with-pg-include=/Library/PostgreSQL/9.1/include/

Pero finalmente lo que funcionó para mí fue:

gem install pg -- --with-pg-dir=/Library/PostgreSQL/9.1/

Además, antes de eso actualicé rvm (rvm get head) y reinstalé ruby ​​(rvm --force install 1.9.2). No estoy seguro de si esto ayudó o no, pero podría valer la pena intentarlo si sigues teniendo problemas.


En general, los paquetes de gemas para Postgres quieren saber dónde se esconde pg_config para que puedan preguntar sobre la instalación de Postgres.

Utilice locate pg_config para ver si su Mac sabe dónde se esconde.

Instalé una copia de Postgres usando mappstack , así que mi Mac dice que hay una copia en:

/Applications/mappstack-1.2-3/postgresql/bin/pg_config

y otro en

/Library/PostgreSQL/9.0/bin/pg_config

No recuerdo haber instalado uno en /Library/PostgreSQL/9.0 , por lo que podría haber sido preinstalado por Snow Leopard, o lo hice cuando estaba bajo la influencia de demasiado trabajo, posiblemente utilizando el instalador Postgres de EnterpriseDB .

Una vez que haya encontrado la ubicación de pg_config intente agregar ese directorio al inicio de su RUTA y luego vuelva a ejecutar la instalación de la gema. O usar:

export SQL_PATH=/Library/PostgreSQL/9.0 gem install pg -- --with-pg-config=$SQL_PATH/bin/pg_config

y tratar de instalar. Si alguno de esos trabajos estas terminado. De otra manera...

Lo siguiente que podrían desear los instaladores es el acceso a los encabezados de Postgres, de modo que busque en el directorio principal de los directorios de bin y vea si puede encontrar un directorio de include .

Después de eso, busque en ese directorio un directorio lib . Una vez que conozca esas ubicaciones, debería tener todo lo que necesita para configurar sus variables de entorno para permitir que el instalador se complete. Deberá leer el archivo README o INSTALL del instalador y ver qué se debe configurar. Estarás configurando:

export include_dir=$SQL_PATH/include/ export lib_dir=$SQL_PATH/lib/ gem install pg -- --with-pgsql-include-dir=$include_dir --with-pgsql-lib-dir=$lib_dir

Esperemos que eso ayude. Tengo Rails 3 y mi Postgres funcionando bien, usando las versiones mappstack Postgres y EnterpriseDB, por lo que la información anterior debería llevarte allí.


Encontré este error cuando intenté instalar rieles por gema en CentOS 6.3.

Después de buscar un poco en Google, encontré una solución rápida: instalar el paquete ruby-devel.

sudo yum install ruby-devel

Después de eso, todo funcionó bien.


Es posible que desee probar con homebrew para instalar postgres ( brew install postgres ) y Ruby Version Manager para instalar y mantener ruby ​​y ruby ​​gems.

Dejará intactas sus versiones predeterminadas (instaladas con OSX) y le dará más flexibilidad. Por ejemplo, podría tener diferentes aplicaciones de rieles usando los rieles 2 o 3 con ruby ​​1.8.7 y 1.9.2, todos instalados en el mismo sistema sin problemas.


Esto funcionó para mí:

sudo env ARCHFLAGS="-arch x86_64" gem install pg


Esto me funcionó en OS X 10.6.6, con PostgreSQL 9.0.1 instalado desde el código fuente:

export PATH=/usr/local/psql/bin:$PATH export ARCHFLAGS=''-arch x86_64'' gem install pg

Es probable que deba editar ese PATH para que coincida con la ubicación de instalación de postgres.


Instala Postgres.app:

http://postgresapp.com/

Verifique que versión se instaló:

$ ls /Library/PostgreSQL/ # 9.4

Exportar el SQL_PATH :

export SQL_PATH=/Library/PostgreSQL/9.4

Instala pg :

gem install pg -- --with-pg-config=$SQL_PATH/bin/pg_config


Tengo postgres 1.9.0 instalado a través de macports. OS X 10.5 PPC

Esto funcionó para mí:

gem install pg -- --with-pg-lib=/opt/local/lib/postgresql90 --with-pg-include=/opt/local/include/postgresql90

¡Buena suerte!


Todas las sugerencias aquí y alrededor de la Web estaban incompletas para mí, hasta que ejecuté lo siguiente en CentOS 6.6:

wget -c ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.3/x86_64/updates/security/kernel-devel-2.6.32-504.1.3.el6.x86_64.rpm && sudo yum install kernel-devel-2.6.32-504.1.3.el6.x86_64.rpm wget -c ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.6/x86_64/updates/security/kernel-headers-2.6.32-504.30.3.el6.x86_64.rpm && sudo yum install kernel-headers-2.6.32-504.30.3.el6.x86_64.rpm sudo yum groupinstall "Development Tools" "Development Libraries" sudo yum -y install gcc gcc-c++ git ruby ruby-devel rubygems libvirt-devel mysql-devel postgresql-devel openssl-devel libxml2-devel sqlite-devel libxslt-devel zlib-devel readline-devel tar make automake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel sqlite-devel ruby193-ruby-doc ruby193-ruby-devel ruby193-build curl -L get.rvm.io | bash -s stable && source $HOME/.rvm/scripts/rvm && rvm requirements