2010-02-16 21 views
20

Ho passato diverse ore negli ultimi giorni a cercare di far funzionare PostgreSQL con RoR sul mio Mac.Installazione di PostgreSQL su OSX per lo sviluppo di Rails

Ho seguito diversi tutorial utilizzando diversi metodi come l'installazione di PostgreSQL manualmente e installazione da vari installatori 1-click

Tuttavia i tutti i diversi metodi che ho provato fallito l'ultimo passo di installare la gemma pag. Molto frustrante!

Qualcuno qui ha un tutorial provato e testato per ottenere questo fatto? (O volete scrivere alcune istruzioni qui ...?)

Il mio ambiente è questo: Macbook con OSX 10.6, PostgreSQL 8.4.1 server di

+0

In che modo l'installazione di gem ha avuto esito negativo? – Eimantas

+0

Un errore orribile lungo ma l'essenza di esso era questa parte: compat.h: 169: 2: errore: #error versione postgresql non supportata, richiede 7.3 o versione successiva. –

+0

Inoltre, un paio dei metodi che ho provato sono: (non ricordo tutti loro ...) http://ingraminternet.com/posts/17-easiest-postgres-install-ever-mac- edizione http://www.robbyonrails.com/articles/2010/02/08/installing-ruby-on-rails-passenger-postgresql-mysql-oh-my-zsh-on-snow-leopard-fourth-edition –

risposta

31

penso che sono riuscito a trovare un modo che funziona. Sto prendendo in prestito pesantemente da this great post , ma dal momento che stanno installando un sacco di altre cose allo stesso tempo, scriverò cosa ho fatto qui per le persone che stanno solo cercando la risposta di installazione di PostgreSQL.

Nota del redattore: Link sembrava morto quando ho provato. È questo? http://blog.blackwhale.at/?p=175#PostgreSQL Si prega di correggere se lo è.

  1. Scarica PostgreSQL for Mac e scaricare il programma di installazione ‘Postgres.app’.

  2. Creare un utente per il vostro sviluppo rotaie (tenere presente che se si sta condividendo un'applicazione durante lo sviluppo vorrete probabilmente lo stesso utente tra tutti i membri tuo team di sviluppo al fine di evitare il mal di testa)

    sudo -u postgres /Library/PostgreSQL8/bin/createuser 
    
  3. Immettere il nome utente del sistema Mac OS X come nome di ruolo e trasformarlo in superutente.

  4. Installare la gemma pg modo Rails può parlare a PostgreSQL

    sudo env PATH=/Library/PostgreSQL8/bin:$PATH gem install pg 
    
  5. Configurare il rotaie app per parlare con PostgreSQL. Si sia possibile creare una nuova applicazione con:

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

    O per un'applicazione esistente, modificare il file database.yml.

Questo ha funzionato per me senza alcun intoppo. Se qualcun altro prova a utilizzare questo metodo, sarei interessato a ricevere feedback su come è andata a finire per te.

+0

Non dimenticare di contrassegnarlo come risposta. – prodigitalson

+0

Lo farà! (apparentemente devo aspettare fino a domani) Grazie per l'aiuto :) –

+0

Dopo l'installazione ho eseguito ... sudo:/Libreria/PostgreSQL8/bin/createuser: comando non trovato – AnApprentice

2
  1. scaricare e installare MacPorts
  2. al fuoco fino terminal
  3. sudo port install ruby postgresql83-server rb-postgres rb-gems rb-rails
+0

Ho già installato RoR, non tramite Macport. Non roba così roba? –

+0

No, questo utilizzerà completamente la propria installazione di tutto passando l'installazione del sistema. Nota comunque se vuoi usare apache dovrai installare anche la porta di Apach2 e poi fastcgi o cosa hai. Quindi dovrai assicurarti di modificare il tuo percorso in ~ ~/.bash_profile' per avere i percorsi di macports prima del resto del tuo percorso oppure utilizzare il percorso completo per le installazioni come '/ opt/local/bin/ruby' e come. – prodigitalson

+1

Grazie per la risposta. +1 in quanto è una buona soluzione, ma non sono sicuro che sia esattamente quello che sto cercando. Voglio vedere se posso aggiungere postgres al mio ambiente di sviluppo esistente e sento che mentre Macports è ottimo, non sempre ti dà un grande controllo sulle versioni ... –

3

Su un Mac (Snow Leopard con Core 2 Duo o più recente) a 64 bit ho dovuto compilare dai sorgenti di PostgreSQL, come rotaie continuava a lamentarsi che:

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

La mancata corrispondenza architettura era probabilmente bc mi piacerebbe rails compilati dall'origine, che per impostazione predefinita erano 64-bit. L'installer binario su postgresql.org sembrava solo una versione a 32 bit. L'impostazione di ARCHFLAGS non ha risolto questo problema per me.

In ogni caso, se si scarica [fonte] [1] da postgresql.org e si seguono le istruzioni nel file INSTALL, è abbastanza semplice. Non devi creare un nuovo utente se usi il tuo account. Ho dovuto creare il file sysctl.conf di espandere la memoria condivisa - solo google 'PostgreSQL os x sysctl.conf'

3

vecchia questione, ma ancora forse posso aiutare qualcuno con questa soluzione (piuttosto semplice):

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

Grazie a Ganesh per il bene awnser, il mio sudo url sembrava un po 'diffirent :) qui è quello che ho di
sudo -u postgres /Library/PostgreSQL/9.2/bin/createuser

Problemi correlati