Imansible installare PG gem sul mio Mac con Mavericks

Sto cercando di installare il pg gem per poter funzionare di nuovo con i miei progetti di rotaie. Ma ottengo questo errore:

Creazione di estensioni native. Questo potrebbe richiedere del tempo … ERRORE: Errore nell’installazione di pg: ERRORE: imansible creare l’estensione nativa gem.

/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If 

l’edificio fallisce, per favore riprovare con –with-pg-config = / percorso / a / pg_config controllo per libpq-fe.h … no Imansible trovare l’intestazione ‘libpq-fe.h * extconf.rb fallita * Imansible creare Makefile per qualche motivo, probabilmente senza librerie e / o intestazioni necessarie. Controlla il file mkmf.log per maggiori dettagli. Potresti avere bisogno di opzioni di configurazione.

Opzioni di configurazione fornite: –with-opt-dir –without-opt-dir –with-opt-include –without-opt-include = $ {opt-dir} / include –with-opt-lib – senza-opt-lib = $ {opt-dir} / lib –with-make-prog –without-make-prog –srcdir =. –curdir –ruby = / Users / jeanosorio / .rvm / rubies / ruby-2.0.0-p247 / bin / ruby ​​–with-pg –without-pg –with-pg-config –without-pg -config –with-pg_config –without-pg_config –with-pg-dir –without-pg-dir –with-pg-include –without-pg-include = $ {pg-dir} / include – -with-pg-lib –without-pg-lib = $ {pg-dir} /

I file gem rimangono installati in /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0 per l’ispezione. Risultati registrati su /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out

Ho provato tutto ciò che ho trovato su StackOverflow, ma ottengo ancora questo errore.

Se provo a installare postgresql usando brew ottengo il seguente waring:

Attenzione: postgresql-9.2.4 già installato, non è collegato

Se provo a collegarmi

brew link postgresql Collegamento /usr/local/Cellar/postgresql/9.2.4 … Avvertenza: Imansible colbind postgresql. Scollegamento …

Errore: imansible leggere il file symlink: /usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7 / usr / local / share / man / man7 non è scrivibile. Dovresti cambiare le sue autorizzazioni.

Aiuto per favore

NOTA: ho già installato gli strumenti da riga di comando per Mavericks.


Se disinstalla usando homebrew e provo a installare di nuovo, ottengo questo errore:

==> Download di http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2

################################################## ################ 100,0%

==> Patching patching file src / pl / plpython / file di patch Makefile contrib /uuid-ossp / uuid-ossp.c ==> ./configure –prefix = / usr / local / Cellar / postgresql / 9.2.4 – datadir = / usr / local / Cellar / postgresql / 9.2.4 / share / postgresql –docdir = / usr / local / Cellar / p ==> make install-world ==> Avvertenze

Crea note

Se i build di PostgreSQL 9 non funzionano e la versione 8.x è installata, potrebbe essere necessario rimuovere prima la versione precedente. Vedere:
https://github.com/mxcl/homebrew/issues/issue/2510

Crea / Aggiorna un database

Se questa è la tua prima installazione, crea un database con: initdb / usr / local / var / postgres -E utf8

Per migrare i dati esistenti da una precedente versione principale (pre-9.2) di PostgreSQL, vedere:
http://www.postgresql.org/docs/9.2/static/upgrading.html

Caricamento delle estensioni

Per impostazione predefinita, Homebrew crea tutte le estensioni di Contribute disponibili. Per vedere un elenco di tutte le estensioni disponibili, dalla riga di comando di psql, esegui:
SELEZIONA * DA pg_available_extensions;

Per caricare uno qualsiasi dei nomi di estensione, accedere al database desiderato ed eseguire: CREATE EXTENSION [nome estensione];

Ad esempio, per caricare l’estensione tablefunc nel database corrente, eseguire: CREATE EXTENSION tablefunc;

Per ulteriori informazioni sul comando CREATE EXTENSION, vedere:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html Per ulteriori informazioni sulle estensioni, vedere:
http://www.postgresql.org/docs/9.2/static/contrib.html

Altro

Alcune macchine potrebbero richiedere il provisioning della memoria condivisa:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC Quando si installa la gem postgres, si consiglia ARCHFLAGS incluso: ARCHFLAGS = “- arch x86_64” gem install pg

Per installare gemme senza sudo, vedere il wiki Homebrew.

Per avviare launchd avviare postgresql all’accesso: ln -sfv /usr/local/opt/postgresql/*.plist ~ / Library / LaunchAgents Quindi caricare ora postgresql: launchctl load ~ / Library / LaunchAgents / homebrew.mxcl.postgresql.plist oppure , se non vuoi / hai bisogno di launchctl, puoi semplicemente eseguire: pg_ctl -D / usr / local / var / postgres -l /usr/local/var/postgres/server.log start Attenzione: imansible colbind postgresql. Scollegamento … Errore: il passaggio del brew link non è stato completato correttamente. La formula è stata creata, ma non è collegata in / usr / local. Puoi riprovare usando `brew link postgresql ‘==> Sommario 🍺 / usr / local / Cellar / postgresql /9.2.4: 2831 file, 38 M, costruiti in 4,9 minuti


SOLUZIONE:

Eseguo questo comando per modificare il permesso della cartella:

sudo chown jeanosorio / usr / local / share / man / man7

Poi

brew link postgresql Collegamento /usr/local/Cellar/postgresql/9.3.1 … 421 symlink creati

E infine:

sudo ARCHFLAGS = “- arch x86_64” gem install pg

Recupero: pg-0.17.0.gem (100%) Creazione di estensioni native. Questo potrebbe richiedere del tempo … Installato con successo pg-0.17.0

Se si desidera evitare l’uso di MacPorts, è ansible scaricare l’ applicazione Postgres e inserirla nella directory dell’applicazione.

Quindi, specifica la posizione del pg_config appena scaricato:

 gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config 

Se esegui il problema delle intestazioni mancanti, prova a specificare la directory di include dell’app:

 gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/' 

Usa la birra per ottenere postgresql

 brew install postgresql 

Controlla di avere pg_config nel brew installato. Ho trovato il mio dentro

/usr/local/Cellar/postgresql/9.3.3/bin/pg_config

Verifica tramite:

 $ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config > /usr/local/Cellar/postgresql/9.3.3/bin/pg_config 

Una volta fatto, installa la gem pg con

 env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config 

Non ero in grado di installare Postgres tramite MacPorts. Invece, ho installato Postgress.app . e chiamato

 gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config 

Nota: nelle versioni più recenti (almeno in 9.3) il percorso è in realtà: /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

Ecco un’altra alternativa nel caso in cui si desideri utilizzare direttamente l’installatore postgresql. Ci sono un paio di cerchi che devi saltare per cominciare dopo l’aggiornamento a Mavericks. Ecco cosa ho fatto:

Installare prima gli strumenti da riga di comando xcode:

 xcode-select --install 

Scarica e installa l’ultima versione di PostgreSQL (9.3.1), nel mio caso ho appena usato il programma di installazione grafico. Ecco il link alla pagina dei download:

 http://www.enterprisedb.com/products-services-training/pgdownload#osx 

Basta scegliere tutti i valori predefiniti che ti dà. Nel mio caso ha installato postgres nella seguente directory, se l’hai installato in una directory diversa, ricorda solo il percorso che hai scelto, perché ne avrai bisogno a breve.

 /Library/PostgreSQL/9.3 

Se ora provi a installare l’ultima pg gem (0.17.0) dovrai passare un paio di opzioni sulla riga di comando. Questo è quello che ho usato:

 ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config 

Se hai installato postgres in una posizione diversa, dovrai correggere il percorso del file pg_config.

Se si lamenta di un file “libpq.5.dylib” mancante durante il tentativo di installare la gem di pg, sarà necessario creare un collegamento simbolico che punta alla posizione effettiva di questo file. Postgres lo cerca nella tua directory / usr / local / lib /, quindi crea un collegamento simbolico lì e reindirizzalo alla sua posizione attuale. Nel mio caso ho dovuto correre:

 sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib 

Una volta che hai fatto, riprova ad installare nuovamente la gem e spero che funzionerà per te nello stesso modo in cui lo ha fatto per me.

Se hai l’homebrew, digita semplicemente:

$ brew install postgresql

Per me, su Yosemite, non ho avuto bisogno di specificare il percorso pg_config . Il seguito l’ha fatto.

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

Sembra che la bandiera dell’architettura sia la chiave.

Nel mio caso (avevo bisogno di PG 0.16.0 su Mavericks), ho installato postgresql tramite MacPorts

 sudo port install postgresql90 

e poi

 gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config 

Per l’ultima versione è necessario dedurre -v ‘0.16.0’

 gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config 

Se hai installato Homebrew non installare MacPorts prima di leggere sulla loro coesistenza

Inserisci la mancanza --with-pg-config nel file di configurazione di Bundler: /Users//.bundle/config per semplificarti la vita.

 --- BUNDLE_BUILD__PG: --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config BUNDLE_BUILD__EXAMPLE_GEM: --other-configs BUNDLE_BUILD__OTHER_EXAMPLE_GEM: --other-configs 

Quindi eseguire di nuovo l’ bundle install .

Per me va bene! (Postgres 93, mac ox 10.9.1) 1. scarica @ http://postgresapp.com/ e poi

 gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config 

Sono rimasto bloccato sulla mia installazione di bundle per 3 giorni. Provato Tutto come aggiungere env ARCHFLAGS = “- arch x86_64” gem install pg – –with-pg-config = / usr / local / Cellar / postgresql / 9.3.5_1 / bin / pg_config

Sono stato in grado di vedere pg gem essere installato dopo questo comando, ma ancora non si installava dall’installazione di bundle, il che era un problema perché non sapevo cosa scrivere in Gemfile tranne gem ‘pg’

La cosa che alla fine ha funzionato per me è stata scoprire che il mio pg_config era in /Library/PostgreSQL/9.3/bin/pg_config e di default l’installazione del pacchetto Gemfile si trova in / usr / local / bin / pg_config

Ho appena eseguito il seguente comando e la magia è successo. bundle config build.pg –with-pg-config = / Libreria / PostgreSQL / 9.3 / bin / pg_config

Nel mio caso non ha funzionato se non si specificano i flag dell’arco, OS X 10.10.3 e poster App 9.4

 sudo env ARCHFLAGS="-arch x86_64" gem install pg -- \--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config 

Questo è quello che ha funzionato per me:

 gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config 

Nel mio caso, ho disinstallato la versione installata tramite homebrew e passata a Postgres.app (v9.3.4.2 al momento della scrittura).

Sembrava funzionare solo anteponendo i flag di architettura dell’ambiente e specificando il percorso di pg_config . La tua miliardaria potrebbe variare, quindi questa risposta potrebbe aiutare con le variazioni sulla posizione di pg_config .

Ecco l’ultimo comando completo che ha funzionato per me:

 env ARCHFLAGS="-arch x86_64" gem install pg -- \ --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 

sudo ARCHFLAGS = “- arch x86_64” gem install pg – –with-pg-config = / usr / local / bin / pg_config

Il modo più semplice per risolverlo è stato utilizzare Postgres.app e impostare il mio env vars in modo che gem install pg (invece di richiedere il flag --with-pg-config ).

Usando il barile di Homebrew ,

 brew cask install postgres echo 'export PG_HOME=/Applications/Postgres.app/Contents/Versions/latest' >> ~/.bash_profile echo 'export PATH="$PATH:$PG_HOME/bin"' >> ~/.bash_profile source ~/.bash_profile # now it just works gem install pg 

Stavo ottenendo lo stesso errore durante l’installazione di bundle riguardante la gem pg (usando Mac OS X Mavericks). Dopo ore di ricerche, ho trovato la soluzione. Ho installato Postgres usando homebrew

 brew install postgres 

Dopo averlo installato, ho creato una nuova app per i binari usando Postgres. ho corso

 bundle install 

senza alcun risultato (ottenuto lo stesso errore della domanda). ero solito

 which psql 

per capire dove è stato installato il mio postgres, è tornato

 /usr/local/bin/psql 

prima di eseguire di nuovo l’installazione di bundle, ho dovuto modificare il percorso globale per build.pg eseguendo quanto segue

 bundle config build.pg --with-pg-config=/usr/local/bin/pg_config 

poi ho eseguito di nuovo l’installazione di bundle e voilà! Ho usato i postgres in cui brew l’ha installato.

Su OS X Mavericks con l’ultima applicazione Postgres fai quanto segue con i privilegi di sudo

 env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config 

Ciò che ha funzionato per me su 10.9.3 con Xcode 5.1.1 è stato il seguente:

 brew update brew install postgresql gem install pg -v '0.17.1' 

Avevo bisogno di pg 0.17.1

Per ogni anima perduta che ha ancora questo problema senza risoluzione e ha una brew installata ruby e postgres . Ecco i seguenti passaggi per accertarti di:

  • Assicurati che la tua versione di ruby non sia stata installata con la flag --universal .
    • Questa è stata la cosa più difficile da capire, ho avuto --universal che era la radice finale del problema.
  • Assicurati di aver inizializzato postgresql correttamente con i comandi initdb e createdb (cerca altrove i passaggi per farlo).
  • Assicurarsi che Xcode (opzionale) e gli command line tools siano installati; sul terminale:
    • xcode-select --install
    • sudo xcodebuild -license (se Xcode è installato) o apri l’applicazione e accetta il contratto di licenza.
    • Riavvia il computer
  • which ruby , which gem e which postgres dovrebbero mostrare /usr/local/bin/ruby , /usr/local/bin/gem e /usr/local/bin/postgres rispettosamente.
  • Sulla corsa del terminale:

    • gem install pg -- --with-pg-config=/usr/local/bin/pg_config
    • o
    • env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
  • Assicurandoti che tutti questi passaggi siano soddisfatti, sono stato in grado di risolvere i seguenti errori:

    • errore di intestazione ruby.h
    • developer tools installed first errore

Ero con lo stesso problema, questa era la soluzione che ho trovato.

Se esegui brew doctor , ti dirà che probabilmente hai installato qualcosa senza brew che ha cambiato i permessi su alcune cartelle, e quindi, devi cambiare i permessi su quella cartella.

Dentro /usr/local/share/man , ciò che puoi fare è il seguente:

sudo chown [yourusername] man7

E poi:

brew link postgres

Spero che sia d’aiuto!

Allo stesso modo, dopo aver installato l’aggiornamento del bundle di Mavericks, si è verificato un errore sul gem di pg, che viene utilizzato solo in produzione e non localmente.

Uso Brew per gestire i miei pacchetti e postgresql era già installato, ma ricevevo comunque l’errore ‘no pg_config’.

La soluzione era semplicemente “brew uninstall postgresql”, quindi “brew install postgresql”. Dopo di che sono stato immediatamente in grado di eseguire correttamente ‘bundle update’

 sudo su 

poi

 ARCHFLAGS="-arch x86_64" gem install pg -v '0.18' 

ha funzionato il 10.10.2

Se dopo aver provato tutto qui non si installerà ancora, prova ad aprire Xcode e ad accettare il contratto di licenza.

Per me, il messaggio di errore era simile a questo:

Installing pg 0.18.4 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

...

checking for pg_config... no

No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config

Come mostra il messaggio di errore, sta cercando di eseguire il comando / script “pg_config”. Quindi aggiungilo al percorso da dove si trova l’installazione di Postgres. Nel mio caso, ho fatto:

export PATH=/Applications/Postgres.app/Contents/Versions/9.5/bin:$PATH

poi

bundle

Questo è tutto.

Prima di tutto, trova la posizione di pg_config

 sudo find / -name "pg_config" -print 

La risposta è /Library/PostgreSQL/9.1/bin/pg_config nella mia configurazione (MAC Maverick)

Quindi prova a installare qualcosa come sotto

gem install pg – –with-pg-config = / Library / PostgreSQL / 9.3 / bin / pg_config

se questo non funziona, prova a verificare in che modo hai installato postgresql

brew / mac port / setup

allora devi provare l’opzione rilevante per lo stesso.

Grazie.

ariete

Postgres ha funzionato anche per me. (Postgres 93, mac ox 10.9.1) 1. scarica @ http://postgresapp.com/ e poi

 gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config 

È molto importante assicurarsi di ottenere il numero di versione corretto nel nome della cartella Postgres.

Inoltre, ho provato questa correzione in un’altra app e ho continuato a ricevere un errore che voleva una specifica versione di PG (nel mio caso 0.16.0), quindi ho dovuto aggiungere -v ‘0.16.0’ al mio comando.

Postgres 9.4:

 gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/Versions/9.4/bin/pg_config