Mac'ime Mavericks ile PG gem yüklemek imkansız


103

Ray projelerimle tekrar çalışmak için pg gem'i kurmaya çalışıyorum. Ama şu hatayı alıyorum:

Yerel uzantılar oluşturma. Bu biraz zaman alabilir ... HATA: pg yüklenirken hata oluştu: HATA: gem yerel uzantısı oluşturulamadı.

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

yapı başarısız olursa, lütfen --with-pg-config = / yol / / pg_config ile libpq-fe.h'yi kontrol ederek tekrar deneyin ... hayır 'libpq-fe.h üstbilgisini bulamıyorum * extconf.rb başarısız oldu * Makefile bazı nedenlerden dolayı, muhtemelen gerekli kitaplıkların ve / veya başlıkların eksikliğinden dolayı oluşturulamadı. Daha fazla ayrıntı için mkmf.log dosyasını kontrol edin. Yapılandırma seçeneklerine ihtiyacınız olabilir.

Sağlanan yapılandırma seçenekleri: --with-opt-dir --with-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib - without-opt-lib = $ {opt-dir} / lib --with-make-prog --with-make-prog --srcdir =. --curdir --ruby = / Kullanıcılar / jeanosorio / .rvm / rubies / ruby-2.0.0-p247 / bin / ruby ​​--with-pg --with-pg --with-pg-config --with-pg -config --with-pg_config --with-pg_config --with-pg-dir --with-pg-dir --with-pg-include --without-pg-include = $ {pg-dir} / include - -with-pg-lib --with-pg-lib = $ {pg-dir} /

Gem dosyaları, inceleme için /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0'da yüklü kalacaktır. Sonuçlar /Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out'a kaydedildi

Stackoverflow'da bulduğum her şeyi denedim ama yine de bu hatayı alıyorum.

Brew kullanarak postgresql yüklemeye çalışırsam aşağıdaki uyarıyı alırım:

Uyarı: postgresql-9.2.4 zaten kurulu, sadece bağlantılı değil

Bağlamaya çalışırsam

brew link postgresql Bağlanıyor /usr/local/Cellar/postgresql/9.2.4 ... Uyarı: postgresql bağlanamadı. Bağlantı kaldırılıyor ...

Hata: Dosyanın sembolik bağlantısı kurulamadı: /usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7 / usr / local / share / man / man7 yazılabilir değil. İzinlerini değiştirmelisiniz.

Yardım lütfen

NOT: Ben zaten mavericks için komut satırı araçlarını kurdum.


Homebrew kullanarak kaldırır ve tekrar yüklemeyi denersem şu hatayı alıyorum:

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

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

==> Yama dosyası src / pl / plpython / Makefile yama dosyası katkı / 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 ==> Uyarılar

Notlar Oluştur

PostgreSQL 9'un derlemeleri başarısız oluyorsa ve 8.x sürümüne sahipseniz, önce önceki sürümü kaldırmanız gerekebilir. Bakınız:
https://github.com/mxcl/homebrew/issues/issue/2510

Veritabanı Oluşturma / Yükseltme

Bu ilk kurulumunuzsa, şu şekilde bir veritabanı oluşturun: initdb / usr / local / var / postgres -E utf8

PostgreSQL'in önceki bir ana sürümünden (9.2 öncesi) mevcut verileri taşımak için bkz:
http://www.postgresql.org/docs/9.2/static/upgrading.html

Uzantıları Yükleme

Varsayılan olarak, Homebrew mevcut tüm Contrib uzantılarını oluşturur. Kullanılabilir tüm uzantıların bir listesini görmek için psql komut satırından şunu çalıştırın:
SELECT * FROM pg_available_extensions;

Uzantı adlarından herhangi birini yüklemek için, istenen veritabanına gidin ve şunu çalıştırın: CREATE EXTENSION [uzantı adı];

Örneğin, geçerli veritabanına tablefunc uzantısını yüklemek için şunu çalıştırın: CREATE EXTENSION tablefunc;

CREATE YAYIM komutu hakkında daha fazla bilgi için bkz:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html fazla bilgi için uzantılarını, bkz:
http://www.postgresql.org/ docs / 9.2 / static / Contrib.html

Diğer

Bazı makineler, paylaşılan belleğin sağlanmasını gerektirebilir:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC Postgres gemini kurarken, ARCHFLAGS dahil önerilir: ARCHFLAGS = "- arch x86_64" gem kurulum pg

Sudo olmadan mücevher yüklemek için Homebrew wiki'ye bakın.

Başlatmak için postgresql'yi oturum açma sırasında başlatın: ln -sfv /usr/local/opt/postgresql/*.plist ~ / Library / LaunchAgents Sonra postgresql'yi şimdi yükleyin: launchctl load ~ / Library / LaunchAgents / homebrew.mxcl.postgresql.plist Veya , launchctl istemiyorsanız / ihtiyacınız yoksa, şunu çalıştırabilirsiniz: pg_ctl -D / usr / local / var / postgres -l /usr/local/var/postgres/server.log start Uyarı: postgresql bağlanamadı. Bağlantı kaldırılıyor ... Hata: brew linkAdım başarıyla tamamlanmadı Formül oluşturuldu, ancak / usr / local ile sembolik bağlantılı değil `` brew link postgresql '==> Özet 🍺 /usr/local/Cellar/postgresql/9.2 kullanarak tekrar deneyebilirsiniz .4: 2831 dosya, 38M, 4,9 dakikada oluşturuldu


ÇÖZÜM:

Klasörün iznini değiştirmek için bu komutu uyguluyorum:

sudo chown jeanosorio / usr / local / paylaşım / adam / man7

Sonra

brew link postgresql Bağlantı /usr/local/Cellar/postgresql/9.3.1 ... 421 sembolik bağlantı oluşturuldu

Ve sonunda:

sudo ARCHFLAGS = "- arch x86_64" gem kurulum sayfası

Getirme: pg-0.17.0.gem (% 100) Yerel uzantılar oluşturma. Bu biraz zaman alabilir ... Başarıyla yüklendi pg-0.17.0

Yanıtlar:


252

MacPorts'u kullanmaktan kaçınmak istiyorsanız, Postgres Uygulamasını indirebilir ve Uygulama dizinine yerleştirebilirsiniz.

Ardından, yeni indirilen konumu belirtin pg_config:

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

Eksik başlık sorunuyla karşılaşırsanız, includeuygulamanın dizinini belirtmeyi deneyin :

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

11
Bir yapılandırma env değişkeni ayarlayarak paketleyiciyi kullanmaya devam edebileceğinizi unutmayın:export CONFIGURE_ARGS="with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config"
film42

8
Postgres 9.3 kullanıyorsanız (en geç bugün itibariyle), bunu yapabilirsiniz: gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
cavneb

Postgres93.app kullanmak işe yaradı, ancak yüklemeyi paketlemek için PATH env değişkenine bin yolunu eklemek zorunda kaldı.
mkhatib

5
Bunu kullanarak çalıştırmalıydım gem install pg -- --with-pg-config=/Applications//Postgres.app/Contents/Versions/9.3/bin/pg_config
StevenNunez

1
Teşekkürler! Uyarı alıyordum: postgresql bağlanamadı. Bağlantı kesiliyor ... Hata: Dosyanın sembolik bağlantısı kurulamadı: ... yazılabilir değil. İzinlerini değiştirmelisiniz. Ve kurulum / link postgresql'yi demledikten sonra her şey demlendi. sorunu çöz TEŞEKKÜRLER !!!!!!
d1jhoni1b

74

Demlemek için kullanın postgresql

brew install postgresql

Kurulu demlemede pg_config'in olup olmadığını kontrol edin. Benimkini buldum

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

Şu yolla kontrol edin:

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

Bittiğinde, pgmücevheri kurun

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

2
birçok farklı şey denedikten sonra benim için çalıştı. sadece doğru sürüm numarasını kullandığımdan emin olmam gerekiyordu (benim durumumda 9.3.5_1)!
HK

1
ls /usr/local/Cellar/postgresql/9.*/bin/pg_configGerçek yolu bulmak ve birleştirmek için kullanınenv ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=$(ls /usr/local/Cellar/postgresql/9.*/bin/pg_config)
Jesper Grann Laursen

Burada neler olduğu hakkında biraz daha ayrıntılı açıklama deveiate.org/code/pg/README-OS_X_rdoc.html
Julia Usanova

35

MacPorts aracılığıyla postgres yükleyemedim. Bunun yerine Postgress.app yükledim . ve aradı

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

Not: daha yeni sürümlerde (en azından 9.3 sürümünde) yol aslında: /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config


2
Bu çalışır, ancak bazen Postgres.app'nin Postgres <NN> .app olarak yüklendiğini unutmayın; burada NN sürüm numarasıdır.
nimrodm

11

Homebrew'unuz varsa, şunu yazın:

$ brew postgresql yükle


1
Bu benim için çalıştı - PostgreSQL zaten kurulmuştu, ama sanırım başlıkları yenilemek için onu yeniden yüklemem gerekiyordu (?) O zaman yapabilirimgem install pg
Crimbo

10

Postgresql yükleyicisini doğrudan kullanmak istemeniz durumunda işte başka bir alternatif. Mavericks'e güncelledikten sonra başlamak için atlamanız gereken birkaç çember var. İşte yaptığım şey:

Önce xcode komut satırı araçlarını kurun:

xcode-select --install

PostgreSQL'in (9.3.1) en son sürümünü indirin ve kurun, benim durumumda sadece grafik yükleyiciyi kullandım. İşte indirilenler sayfasına bağlantı:

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

Sadece size verdiği tüm varsayılanları seçin. Benim durumum, postgres'i aşağıdaki dizine kurdu, eğer onu farklı bir dizine kurduysanız, seçtiğiniz yolu hatırlayın, çünkü ona kısa süre içinde ihtiyacınız olacak.

/Library/PostgreSQL/9.3

Şimdi en son pg gem'i (0.17.0) deniyor ve kuruyorsanız, komut satırında birkaç seçenek iletmeniz gerekecektir. Kullandığım şey bu:

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

Postgres'i farklı bir konuma yüklediyseniz, pg_config dosyasının yolunu düzeltmeniz gerekecektir.

Pg gem'i yüklemeye çalışırken eksik bir 'libpq.5.dylib' dosyasından şikayet ederse, bu dosyanın gerçek konumuna işaret eden bir sembolik bağlantı oluşturmanız gerekir. Postgres onu / usr / local / lib / dizininizde arıyor, bu yüzden orada bir sembolik bağlantı oluşturun ve onu gerçek konumuna yeniden yönlendirin. Benim durumumda koşmak zorunda kaldım:

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

Bunu yaptıktan sonra, mücevheri tekrar yüklemeyi deneyin ve umarım benim için olduğu gibi sizin için de çalışacaktır.


9

Benim için Yosemite'de pg_configyol belirlememe gerek yoktu . Aşağıdakiler halletti.

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

Mimari bayrak anahtar gibi görünüyor.


5

Benim durumumda (Mavericks'te PG 0.16.0'a ihtiyacım vardı), postgresql'i MacPorts üzerinden yükledim

sudo port install postgresql90

ve sonra

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

En son sürüm için -v '0.16.0' düşmeniz gerekir

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

Homebrew yüklüyse , birlikte varoluşlarını okumadan önce MacPorts'u yüklemeyin


5

Eksik yerleştirin --with-pg-configBundler yapılandırma dosyası: /Users/<your_user>/.bundle/configHayatınızı kolaylaştırmak için.

---
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

Sonra bundle installtekrar koş .


5

Bu benim için çalışıyor! (Postgres 93, mac ox 10.9.1) 1. indir @ http://postgresapp.com/ ve

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

4

3 gün boyunca paket yüklememde takılı kaldım. Env ARCHFLAGS = "- arch x86_64" gem kurulum pg - --with-pg-config = / usr / local / Cellar / postgresql / 9.3.5_1 / bin / pg_config eklemek gibi her şeyi denedim

Bu komuttan sonra pg gem'in kurulduğunu görebiliyordum ama yine de paket kurulumundan yüklenmiyordu, bu bir acıdı çünkü gem 'pg' dışında Gemfile'da ne yazacağımı bilmiyordum

Sonunda benim için işe yarayan şey, pg_config'imin /Library/PostgreSQL/9.3/bin/pg_config içinde olduğunu ve varsayılan olarak Gemfile paket kurulumunun / usr / local / bin / pg_config içinde göründüğünü bulmaktı.

Sadece aşağıdaki komutu çalıştırdım ve sihir gerçekleşti. bundle config build.pg --with-pg-config = / Library / PostgreSQL / 9.3 / bin / pg_config


4

Benim durumumda, kemer bayraklarını, OS X 10.10.3 ve postersApp 9.4'ü belirtmezseniz işe yaramadı.

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

3

Bunu çözmenin en kolay yolu Postgres.app kullanmak ve ortam değişkenlerimi gem install pgsadece çalışacak şekilde ayarlamaktı ( --with-pg-configbayrağı gerektirmek yerine ).

Homebrew Cask kullanarak ,

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

2

Bu benim için çalıştı:

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

2

Benim durumumda, homebrew aracılığıyla yüklenen sürümü kaldırdım ve Postgres.app'e (yazarken v9.3.4.2) geçtim.

Yalnızca çevre mimarisi bayraklarını öne eklerken ve yolunu belirtirken çalışıyor gibiydi pg_config. Milage'nız değişebilir, bu nedenle bu yanıtınpg_config bulunduğu yerdeki değişikliklere yardımcı olabilir .

İşte benim için çalışan son, eksiksiz komut:

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

2

sudo ARCHFLAGS = "- arch x86_64" gem kurulum pg - --with-pg-config = / usr / local / bin / pg_config


bu da benim için şu şekilde paket yüklemeyle çalıştı:ARCHFLAGS="-arch x86_64" bundle install
d4n3

1

Pg gem ile ilgili olarak paket yüklemeyi çalıştırırken aynı hatayı alıyordum (Mac OS X Mavericks kullanarak). Saatler süren araştırmalardan sonra çözümü buldum. Homebrew kullanarak postgreleri yükledim

brew install postgres

Bunu yükledikten sonra postgres kullanarak yeni bir ray uygulaması oluşturdum. Koştum

bundle install

boşuna (soruyla aynı hatayı aldım). kullandım

which psql

posterlerimin nereye yüklendiğini bulmak için geri döndü

/usr/local/bin/psql

paket yüklemeyi tekrar çalıştırmadan önce, aşağıdakileri çalıştırarak build.pg'ye giden genel yolu değiştirmek zorunda kaldım

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

sonra paket yüklemeyi tekrar çalıştırdım ve işte! Brew'ün kurduğu postgres'i kullandım.


1

En son Postgres Uygulamasına sahip OS X Mavericks'te sudo ayrıcalıklarıyla aşağıdakileri yapın

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

1

Xcode 5.1.1 ile 10.9.3'te benim için işe yarayan şey şuydu:

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

Sayfa 0.17.1'e ihtiyacım vardı


1

Kaybolan ruh hala çözünürlükte bu sorun yaşadığınız ve var outthere için brewyüklü yakut ve postgres . İşte emin olmak için aşağıdaki adımlar:

  • Sürümünüzün bayrakla rubyyüklenmediğinden emin olun --universal.
    • Anlaması en zor şey buydu --universal, sorunun son kökü de buydu .
  • Ve komutlarıyla postgresqldoğru şekilde başlattığınızdan emin olun (bunu yapmak için başka bir yere bakın).initdbcreatedb
  • Xcode(İsteğe bağlı) ve command line toolskurulu olduğundan emin olun ; terminalde:
    • xcode-select --install
    • sudo xcodebuild -license (Xcode yüklüyse) veya uygulamayı açın ve lisans sözleşmesini kabul edin.
    • Bilgisayarı yeniden başlat
  • which ruby, which gemVe which postgresgöstermelidir /usr/local/bin/ruby, /usr/local/bin/gemve /usr/local/bin/postgressaygıyla.
  • Terminal çalışmasında:

    • gem install pg -- --with-pg-config=/usr/local/bin/pg_config
    • veya
    • env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
  • Tüm bu adımların yerine getirildiğinden emin olarak aşağıdaki hataları çözebildim:

    • ruby.h başlık hatası
    • developer tools installed first hata

1

Öncelikle pg_config konumunu bulun

sudo find / -name "pg_config" -print

Yanıt, yapılandırmamdaki /Library/PostgreSQL/9.1/bin/pg_config'dir (MAC Maverick)

Ardından aşağıdaki gibi bir şey yüklemeyi deneyin

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

bu işe yaramazsa, postgresql'yi ne şekilde yüklediğinizi kontrol etmeye çalışın

brew / mac bağlantı noktası / kurulum

o zaman aynı seçeneği denemelisiniz.

Teşekkür ederim.

Veri deposu


0

Ben de aynı problemle birlikteydim, bulduğum çözüm buydu.

Çalıştırırsanız brew doctor, muhtemelen bazı klasörlerdeki izinleri değiştiren bir şeyi demlenmeden yüklediğinizi söyleyecektir ve bu nedenle, bu klasördeki izinleri size geri değiştirmeniz gerekir.

İçeride /usr/local/share/manyapabilecekleriniz şudur:

sudo chown [yourusername] man7

Ve sonra:

brew link postgres

Umarım yardımcı olur!


0

Benzer şekilde, Mavericks 'paket güncellemesini' yükledikten sonra, yalnızca üretimde kullanılan ve yerel olarak kullanılmayan pg gem'e bir hata atıyordu.

Paketlerimi yönetmek için Brew kullanıyorum ve postgresql zaten kurulmuştu, ancak yine de 'pg_config yok' hatası alıyordum.

Düzeltme sadece 'brew uninstall postgresql', ardından 'brew install postgresql' oldu. Bundan sonra 'paket güncellemesini' hemen başarıyla çalıştırabildim


0
sudo su 

sonra

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

10.10.2'de çalıştı


0

Buradaki her şeyi denedikten sonra hala yüklenmiyorsa, Xcode'u açmayı ve lisans sözleşmesini kabul etmeyi deneyin.


0

Benim için hata mesajı şuna benziyordu:

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

Hata mesajının gösterdiği gibi, "pg_config" komutunu / komut dosyasını çalıştırmaya çalışıyor. Bu nedenle, Postgres kurulumunuzun olduğu her yerden onu yola ekleyin. Benim durumumda yaptım:

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

sonra

bundle

Bu kadar.


-1

Postgres 9.4:

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

Diğer 19 cevabın selinde bunun kaybolmasını önlemek için küçük bir açıklama güzel olurdu.
Brad Koch
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.