पीजी रत्न स्थापित करने में असमर्थ


218

मैंने उपयोग करने की कोशिश की, gem install pgलेकिन यह काम नहीं कर रहा है ।

gem install pg यह त्रुटि देता है

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

C:/Ruby/bin/ruby.exe extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby/bin/ruby
        --with-pg
        --without-pg
        --with-pg-dir
        --without-pg-dir
        --with-pg-include
        --without-pg-include=${pg-dir}/include
        --with-pg-lib
        --without-pg-lib=${pg-dir}/lib
        --with-pg-config
        --without-pg-config
        --with-pg_config
        --without-pg_config


Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/pg-0.10.1 for
inspection.
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/pg-0.10.1/ext/gem_make.out

3
यदि आप एक मैक पर हैं, तो इस ट्यूटोरियल का अनुसरण करें: Matthew.mceachen.us/blog/…
Noah W. Smith

1
@NatchiQ टूटी कड़ी?
0112

मेरे मामले में त्रुटि लॉग ने कहा libpqकि नहीं मिला था, इसलिए मैंने स्थापित कियाsudo apt install postgresql postgresql-contrib libpq-dev pgadmin3 -y
राज

जवाबों:


14

यहाँ उत्तर दिया गया: विंडोज पर pg रत्न स्थापित नहीं कर सकते

कल रिलीज़ होने वाले pg (0.10.0) के नवीनतम रिलीज़ का कोई विंडोज़ देशी संस्करण नहीं है, लेकिन यदि आप 0.9.0 स्थापित करते हैं, तो इसे बिना किसी समस्या के बायनेरी स्थापित करना चाहिए।


388

मुझे यह समस्या थी, इसने मेरे लिए काम किया:

Postgresql-devel पैकेज स्थापित करें, इससे pg_config की समस्या गायब हो जाएगी।

sudo apt-get install libpq-dev

139
मेरे लिए काम किया apt-get install libpq-dev। संकेत के लिए धन्यवाद।
रेयान्ट

5
पीजी रत्न विकी होमपेज से पुष्टि : "उबंटू पर, / usr / bin / pg_config libpq-dev पैकेज द्वारा प्रदान किया गया है।"
मार्क बेरी

17
मैक के बारे में क्या?
पांच

23
@Fivell उत्तर के साथ खेल के लिए देर से यहाँ, लेकिन अगर आप Homebrew स्थापित किया है, brew install postgresqlआप आप की जरूरत संकुल मिलेगा।
एलेक्स लाफ्रोसिया

19
@ फाइव brew install postgresqlमैक पर प्रयास करें
महाट्टम

91

मुद्दा मणि निर्भरता है इसलिए pg स्थापित करने से पहले सुनिश्चित करें कि आपने "libpq-dev" स्थापित किया है

उबंटू सिस्टम:

sudo apt-get install इंस्टॉल करें libpq-dev

आरएचईएल सिस्टम:

yum postgresql-devel स्थापित करें

मैक:

काढ़ा स्थापित करें postgresql


7
मैक का उत्तर सही है। यह सिर्फ इसलिए है क्योंकि हमने मशीन पर PostgreSQL स्थापित नहीं किया है।
होआंग ले

Centos 7 yum install postgresql-develमें 'pg' .gem को स्थापित करने के लिए pg_config से संबंधित मेरी त्रुटि को हल किया। जिस तरह से मैंने अभी जारी PostgreSQL 10
आर्थर

62

gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config


3
इसने मेरी मदद की (
सेंटोस

14
OS X पर मेरे लिए काम किया, लेकिन /Applications/Postgres.app/Contents/MacOS/bin/pg_config (मेरे पास एक स्टैंडअलोन पोस्टग्रैस.app है) के रास्ते पर
मैट

10
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config Postgres App के साथ yosemite पर
twmulloy

काम किया। लेकिन मैक पर, env ARCHFLAGS="-arch x86_64"मेरे साथ पूर्ववर्ती गेम चेंजर था।
जनुसज़ लेनार

2
मैंने gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_configOSX 10.12
टिम क्रिंस

37

@Winfield ने कहा :

पीजी रत्न को पोस्टग्रेजिक क्लाइंट लाइब्रेरीज़ के विरुद्ध बाध्य करने की आवश्यकता होती है । इस त्रुटि का आमतौर पर मतलब है कि यह आपके पोस्टग्रेजुएट लाइब्रेरी को नहीं खोज सकती। या तो आप उन्हें स्थापित नहीं है या आप --with-pg-dir=अपने मणि स्थापित करने के लिए पारित करने की आवश्यकता हो सकती है ।

इससे अधिक, आपको केवल --with-pg-config=इसे स्थापित करने की आवश्यकता है।

एक मैक पर

यदि, किसी भी संयोग से, आपने मैक पर वेबसाइट बंडल के माध्यम से पोस्टग्रेज स्थापित किए हैं, तो यह कहीं न कहीं की तरह होगा /Applications/Postgres.app/Contents/Versions/9.3/bin

तो, या तो आप इसे मणि स्थापित पर पास करें:

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

या फिर आप सही तरीके से पैट सेट करें । चूंकि वह बहुत अधिक हो सकता है, अस्थायी रूप से पथ को सेट करने के लिए:

export PATH=%PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin/

2
विशिष्ट संस्करण के लिए:gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
डैन सैंडलैंड

latestPostgres.app सामग्री फ़ोल्डर के अंदर एक सिम्लिंक फ़ोल्डर कहा जाता है जो 9.3 के मामले में उपयोगी है, अब शिप नहीं किया गया है। gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
स्टीफन सिलबर

24

मैंने पोस्टग्रेजल को स्थापित नहीं किया था, इसलिए मैंने इसका उपयोग करके स्थापित किया

sudo apt-get install postgresql postgresql-server-dev-9.1

उबंटू 12.04 पर।

इससे यह हल हो गया।


अपडेट करें:

नवीनतम संस्करण का उपयोग करें:

sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3

मेरे लिए समस्या का समाधान किया लेकिन एक मैक पर (होमब्रे के साथ) मुझे यह कमांड चलाना पड़ा:brew install postgresql
galeale

19

यह मेरे मामले में काम आया:

sudo apt-get install libpq-dev

मैंनें इस्तेमाल किया:

  • Ubuntu 14.04.2 LTS
  • रूबी 2.2.2
  • रेल्स 4.2.1

12

यदि आप Mac पर Postgres.app का उपयोग कर रहे हैं , तो आप इस समस्या को एक बार और इस तरह से हल कर सकते हैं:

सबसे पहले gem uninstall pg, तो अपने को संपादित ~/.bash_profileया ~/.zshrcफ़ाइल या समकक्ष और जोड़ें:

# PostgreSQL bin path
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin

फिर bundle installऔर gem install pgदोनों को उम्मीद के मुताबिक काम करना चाहिए।


/Usr/local/Cellar/postgresql/9.5.0/bin/: धन्यवाद, यह भी काढ़ा का उपयोग कर काम करता है PostgreSQL # PostgreSQL बिन पथ निर्यात पथ = $ पथ स्थापित
बेनोइट

9
$ PATH=$PATH:/Library/PostgreSQL/9.1/bin sudo gem install pg

आपके सिस्टम पर इंस्टॉल किए गए संस्करण के लिए 9.1 को बदलें।


1
इससे मुझे एक मैक पर मदद मिली, किसी को भी पता है कि डिफ़ॉल्ट पथ क्या है और इसे कैसे बदलना है?
स्टीव

OS X Maveric
Marek Kirejczyk

5

मैक ओएस (एल कैपिटानो) पर। आप बस का उपयोग कर सकते हैं:brew install postgresql


1
हाँ! मुझे बस यही चाहिए था! स्वच्छ OS X, कोई Postgres.app पर स्थापित करें
लेन Rettig

3

पीजी रत्न को पोस्टग्रेजिक क्लाइंट लाइब्रेरीज़ के विरुद्ध बाध्य करने की आवश्यकता होती है। इस त्रुटि का आमतौर पर मतलब है कि यह आपके पोस्टग्रेजुएट लाइब्रेरी को नहीं ढूंढ सकता है। या तो आपने उन्हें स्थापित नहीं किया है या आपको अपने रत्न स्थापित करने के लिए --wg-pg-dir = पास करना होगा।


3

मैक उपयोगकर्ताओं के लिए

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

यह काम कर जाना चाहिए


3

ARCHध्वज के साथ प्रयोग करें ।

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

यह वही समस्या हल कर रहा है जो आप कर रहे हैं।


2

मैं लिनक्स टकसाल (माया) 13 पर इस मुद्दे को, और मैं postgresql और postgresql- सर्वर स्थापित करके यह तय किया है:

apt-get install postgresql-9.1 

sudo apt-get install postgresql-server-dev-9.1

2

आप जो भी OS चला रहे हैं, उसकी परवाह किए बिना, देखने के लिए लॉग फाइल "Makefile"को देखें कि क्या चल रहा है, आँख बंद करके सामान स्थापित करने के बजाय।

मेरे मामले में, MAC OS, लॉग फ़ाइल यहाँ है:

/Users/za/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log

लॉग ने संकेत दिया कि निम्न के कारण मेक फ़ाइल नहीं बनाई जा सकी:

Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers

Mkmf.log के अंदर, आप देखेंगे कि निर्माण को पूरा करने के लिए, यह आवश्यक लाइब्रेरी नहीं ढूंढ सका।

checking for pg_config... no
Can't find the 'libpq-fe.h header
blah blah

दौड़ने के बाद "brew install postgresql", मैं सभी आवश्यक पुस्तकालयों को वहाँ देख सकता हूँ:

za:myapp za$ cat /Users/za/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log | grep yes
find_executable: checking for pg_config... -------------------- yes
find_header: checking for libpq-fe.h... -------------------- yes
find_header: checking for libpq/libpq-fs.h... -------------------- yes
find_header: checking for pg_config_manual.h... -------------------- yes
have_library: checking for PQconnectdb() in -lpq... -------------------- yes
have_func: checking for PQsetSingleRowMode()... -------------------- yes
have_func: checking for PQconninfo()... -------------------- yes
have_func: checking for PQsslAttribute()... -------------------- yes
have_func: checking for PQencryptPasswordConn()... -------------------- yes
have_const: checking for PG_DIAG_TABLE_NAME in libpq-fe.h... -------------------- yes
have_header: checking for unistd.h... -------------------- yes
have_header: checking for inttypes.h... -------------------- yes
checking for C99 variable length arrays... -------------------- yes

2

मैं वर्षों से पीजी के साथ इस कष्टप्रद समस्या का सामना कर रहा हूं। मैंने मदद करने के लिए यह जिस्ट बनाया।

निम्न कमांड हमेशा मेरे लिए काम करती है।

# Substitute Postgres.app/Contents/Versions/9.5 with appropriate version number
sudo ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config

gist: https://gist.github.com/sharnie/5588340cf023fb177c8d


1

मुझे यह CentOS 5.8 पर करना था। bundle installजब से मैं इसे एक विशेष PG संस्करण का उपयोग करने के लिए बाध्य नहीं कर सका, तो समस्याएँ चलती रहीं।

yum erase postgresql postgresql-develनिर्भरता के मुद्दों के कारण मैं या तो नहीं कर सकता (यह php, http आदि को हटा देगा)

समाधान? डिफ़ॉल्ट रूप से अपडेट किए गए pgsql को वरीयता देने के लिए अस्थायी रूप से मेस $ PATH:

export PATH=/usr/pgsql-9.2/bin:$PATH
bundle install

मूल रूप से, ऊपर दिए गए आदेशों के साथ, यह /usr/pgsql-9.2/bin/pg_configएक के पहले एक को देखेगा/usr/bin/pg_config


1

यदि आप रूबी के बजाय जूरी का उपयोग कर रहे हैं, तो पीजी रत्न स्थापित करते समय आपके पास समान मुद्दे होंगे। इसके बजाय आपको एडॉप्टर इंस्टॉल करने की आवश्यकता है:

gem 'activerecord-jdbcpostgresql-adapter'


0

आप बस यह देखने के लिए यहाँ जाएँ कि यदि आपका pg संस्करण Win32 प्लेटफ़ॉर्म का समर्थन करता है, तो इस कमांड को इंस्टॉल करने के लिए उपयोग करें:

मणि स्थापित pg -v 0.14.1 --platform = x86-mingw32

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.