2013-03-08 36 views
7

Ben Ruby için pg (PostreSQL) mücevher yüklemeye çalışıyorum. Bu hatayı alıyorum:pg mücevher sürümü çok eski söyleyerek başarısız yükleme?

postgres/9.2-pgdg/bin/64/pg_config 
Using config values from /location/to/install/postgres/9.2-pgdg/bin/64/pg_config 
checking for libpq-fe.h... yes 
checking for libpq/libpq-fs.h... yes 
checking for pg_config_manual.h... yes 
checking for PQconnectdb() in -lpq... yes 
checking for PQconnectionUsedPassword()... no 
Your PostgreSQL is too old. Either install an older version of this gem or upgrade your  database. 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

PostgreSQL sürümü: postgres (PostgreSQL) 9.2.3

OS: Ben de denedim 10

solaris:

gem install pg -- --with-pgsql-lib=/location/of/install/postgres/9.2-pgdg/lib/64/ --with-pg-config=/location/of/install/postgres/9.2-pgdg/bin/64/pg_config 

Hiç var Bu hata neden oluştuğunu ve Google’da herhangi bir yararlı bilgi bulamıyorum.

Her türlü yardım büyük beğeni topluyor. şeylerden

+0

i birden çok sürümü ama (ben aynı hata pQconnectionUsedPassword başvuran bkz mkmf.log de doğru sürümüne işaret ediyorum). – arrowill12

+2

'PATH' 'i,' PATH' içinde doğru' pg_config' yürütülebilir dosyasının ilk olduğundan emin olmanız ve 'libpq' bileşeninin bulunduğundan emin olmak için herhangi bir LD_LIBRARY_PATH ya da Solaris eşdeğeri ortamı var. –

+0

'mkmf.log', 'PQconnectionUsedPassword' varlığını kontrol ettiği bölümde ne diyor? –

cevap

2

Birçok veritabanı istemci, mücevher kurulumu ve kullanımı ters gidebilir.

Ben genelde bir dağıtıma, kaynağından PostgreSQL yükleyin. Bu noktada, tüm kaynağa sahip olduğumu biliyorum ve tam olarak nerede kurulduğunu biliyorum. İstemci sürücülerine konuşan gemiyi kurarken bu önemlidir.

Ben de doğrudan kendim yükleyerek, ya da benim gelişim kutulardan birinin üzerinde ise rbenv veya RVM kullanmak suretiyle, kaynaktan Ruby yükleme güveniyor. Sonra da gem install pg yoluyla doğrudan pg mücevher yükleyin; Dilleri kurarken dağıtımları kullanarak çok fazla kötü deneyim yaşadım, böylece eski okula gidiyorum.

benim CentOs Linux kutuları için yararlı buldum, benim Mac OS sistemlerinde kullanmak biraz senaryo yazdı:

 
#!/bin/sh -x 

PATH=/Library/PostgreSQL/9.2/bin:$PATH 
gem install pg 

Ben PostgreSQL yüklü var yere bağlı YOLU ek ayarlar; ayrıca, hile yapmak gibi görünüyor. Daha uzun, daha "kapsamlı" seçenekler de kullandım, ama bu da işe yarıyor gibi görünüyor.

Sorun, yükleyicinin yükleme bilgisini pg_config yürütülebilir dosyasından bulması ve pg_config öğesinin bulunabilmesidir.

+0

Her seferinde çalışır. – pzin

0

postgresql-devel ve postgresql-libs'un 8.1.23'dan olduğunu fark edinceye kadar bununla deliriyordum !!!

$ yum list installed postgres* 
Loaded plugins: fastestmirror, security 
Installed Packages 
postgresql-devel.i386       8.1.23-10.el5_10      installed 
postgresql-devel.x86_64       8.1.23-10.el5_10      installed 
postgresql-libs.i386       8.1.23-10.el5_10      installed 
postgresql-libs.x86_64       8.1.23-10.el5_10      installed 

--------------- 

$ sudo yum install postgresql94-libs 
$ sudo yum install postgresql94-devel 

$ gem install pg 
Successfully installed pg-0.18.1 
0

Yükleme ve gelen postgresql bağlayan homebrewleri benim için sabit:

brew install postgresql 
brew unlink postgresql91 
brew link --overwrite postgresql