sql >> Base de Datos >  >> RDS >> PostgreSQL

Instalando gema pg; ERROR:no se pudo crear la extensión nativa de la gema

Tienes razón en que el problema está relacionado con las herramientas de desarrollo de Xcode. No es una mala idea asegurarse de tener todas las herramientas de desarrollo instaladas (en lugar de instalar únicamente gcc como se mencionó en la respuesta anterior):

  1. Abre Xcode
  2. En el elemento del menú de la aplicación "Xcode", seleccione Abrir herramienta para desarrolladores> Más herramientas para desarrolladores...
  3. Esto lo lleva a un sitio con un montón de software. Continúe y descargue e instale "Herramientas de línea de comandos (OS X Mavericks) para Xcode - Finales de octubre de 2013".
  4. Ahora podrá instalar correctamente la gema.

Para cualquier otra persona que se enfrente a este problema después de una instalación nueva de la aplicación Postgres 9.3.0 en Mac OS X Mavericks (es decir, no está usando homebrew para su instalación de Postgres), puede notar que, aunque puede construir la gema pg, no se puede ejecutar rake debido a un problema de dylib:

rake aborted!
dlopen(/Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle, 9): Library not loaded: @loader_path/../lib/libpq.5.dylib
  Referenced from: /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle
  Reason: image not found - /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle

Desafortunadamente, este es un problema con la versión de lanzamiento actual de 9.3.0 de Postgres. Regresar a una versión anterior lo solucionará:

  1. desinstalar la gema pg:gem uninstall pg
  2. elimine su aplicación Postgres 9.3.0 arrastrándola a la papelera y vaciándola
  3. instale la versión 9.2.2.0 de la aplicación de Postgres aquí:http://postgres-app.s3.amazonaws.com/PostgresApp-9-2-2-0.zip
  4. reinstale la gema pg:gem install pg

*Gracias al comentario de jhiro009 en este hilo por indicarme la dirección correcta en esta última aplicación de Postgres, parte del problema, aunque la versión 9.2.4.3 que mencionó no me funcionó.