2010-02-16 7 views
20

He pasado varias horas en los últimos días intentando que PostgreSQL funcione bien con RoR en mi Mac.Instalación de PostgreSQL en el desarrollo de OSX for Rails

He seguido varios tutoriales utilizando varios métodos diferentes, tales como la instalación de PostgreSQL de forma manual y la instalación de varios instaladores 1-clic

Sin embargo los todos los diferentes métodos que probé fallaron en el último paso de la instalación de la gema pg. ¡Muy frustrante!

¿Alguien aquí tiene un tutorial probado para hacer esto? (¿O le gustaría escribir algunas instrucciones aquí ...?)

Mi entorno es la siguiente: Macbook OSX 10.6, PostgreSQL 8.4.1 servidor

+0

¿Cómo falló la instalación de la gema? – Eimantas

+0

Un error largo horrible pero la esencia de esto era esta parte: compat.h: 169: 2: error: #erver versión postgresql no compatible, requiere 7.3 o posterior. –

+0

Además, algunos de los métodos que he probado son: (No puedo recordarlos a todos ...) http://ingraminternet.com/posts/17-easiest-postgres-install-ever-mac- edición http://www.robbyonrails.com/articles/2010/02/08/installing-ruby-on-rails-passenger-postgresql-mysql-oh-my-zsh-on-snow-leopard-fourth-edition –

Respuesta

31

creo que he conseguido encontrar una manera que funcione. Estoy tomando prestado fuertemente de this great post , pero ya que están instalando un montón de otras cosas al mismo tiempo, voy a escribir lo que hice aquí para las personas que solo están buscando la respuesta de instalación de PostgreSQL.

Nota del editor: Link parecía estar muerto cuando lo intenté. ¿Es este el uno? http://blog.blackwhale.at/?p=175#PostgreSQL Por favor, corrige si es así.

  1. Descargar PostgreSQL for Mac y descargar el instalador ‘Postgres.app’.

  2. Crear un usuario para su desarrollo carriles (tenga en cuenta que si va a compartir una aplicación durante el desarrollo es probable que desea que el mismo usuario entre todos los miembros de su equipo de desarrollo con el fin de evitar dolores de cabeza)

    sudo -u postgres /Library/PostgreSQL8/bin/createuser 
    
  3. Ingrese el nombre de usuario de su sistema Mac OS X como nombre de rol y conviértalo en un superusuario.

  4. Instalar la gema pg por lo Rieles puede hablar con PostgreSQL

    sudo env PATH=/Library/PostgreSQL8/bin:$PATH gem install pg 
    
  5. Configure su aplicación rieles para hablar con PostgreSQL. Puede crear una nueva aplicación con:

    rails *appname* -d postgresql (for Rails 3 -> rails new *appname* -d postgresql) 
    

    o para una aplicación existente, modifique su archivo database.yml.

Esto funcionó para mí sin inconvenientes. Si alguien más intenta usar este método, me gustaría escuchar algunos comentarios sobre cómo te fue.

+0

No olvide marcar esto como la respuesta. – prodigitalson

+0

¡Lo haré! (aparentemente tengo que esperar hasta mañana) Gracias por la ayuda :) –

+0

Después de instalar ejecuté ... sudo:/Library/PostgreSQL8/bin/createuser: comando no encontrado – AnApprentice

2
  1. descargar e instalar MacPorts
  2. fuego hasta el terminal
  3. sudo port install ruby postgresql83-server rb-postgres rb-gems rb-rails
+0

Ya tengo instalado RoR, no a través de Macports. ¿Esto no es todo? –

+0

no, esto usará su propia instalación de todo completamente al pasar la instalación del sistema. Sin embargo, tenga en cuenta que si desea utilizar a través de apache también necesitará instalar el puerto de Apach2 y luego fastcgi o lo que sea. Luego deberá asegurarse de modificar su ruta en su '~/.bash_profile' para tener las rutas de macports antes del resto de su ruta o bien utilizar la ruta completa a las instalaciones como'/opt/local/bin/ruby' y tal. – prodigitalson

+1

Gracias por la respuesta. +1, ya que es una buena solución, pero no estoy seguro de que sea exactamente lo que estoy buscando. Quiero ver si puedo agregar postgres a mi entorno de desarrollo existente y creo que, si bien macports es genial, no siempre te da un gran control sobre las versiones ... –

3

En un Mac (Snow Leopard con Core 2 Duo o superior) de 64 bits que tenían para compilar PostgreSQL desde la fuente, como carriles se quejaba de que:

*** Your PostgreSQL installation doesn't seem to have an architecture in common 
with the running ruby interpreter (["ppc", "i386", "x86_64"] vs. []) 

El desajuste arquitectura era probablemente aC que había railes compilados de la fuente, que de manera predeterminada a 64 bits. El instalador binario en postgresql.org parecía solo una versión de 32 bits. Establecer ARCHFLAGS no me solucionó esto.

De todos modos, si descarga [source] [1] de postgresql.org y sigue las instrucciones en el archivo INSTALL, es bastante sencillo. No tiene que crear un nuevo usuario si usa su propia cuenta. Yo tenía que crear el archivo sysctl.conf para ampliar la memoria compartida - sólo Google 'PostgreSQL OS X sysctl.conf'

3

pregunta antiguo, pero aún así puede que puedo ayudar a alguien con esta solución (bastante simple):

gem install pg -- --with-opt-include=/opt/local/include/postgresql84/ --with-opt-lib=/opt/local/lib/postgresql84/ 
0

Gracias a Ganesh por el bien awnser, mi sudo url parecían un poco diffirent :) aquí es lo que tengo de
sudo -u postgres /Library/PostgreSQL/9.2/bin/createuser

Cuestiones relacionadas