Pg (0.17.1) को इंस्टॉल करते समय एक त्रुटि हुई, और बंडलर जारी नहीं रह सकता


87

मैंने अभी-अभी Rails 4.0.2एक नया ऐप बनाया और बंडल स्टेज में, जो मुझे मिला:

Installing pg (0.17.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/Dee/.rvm/rubies/ruby-2.0.0-p247/bin/ruby 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.

मैं यह कैसे तय करुं?


1
आप एक ओएक्सएक्स टैग जोड़ना चाह सकते हैं। समाधान प्रतीत होता है कि यह विशेष रूप से आपके ओएस से संबंधित हो सकता है।
विंस

आप यात्रा करना चाह सकते हैं। stackoverflow.com/questions/3116015/… । आशा है कि उन समाधानों में से एक मदद करता है
याना अगुन सिसवंतो

जवाबों:


144

मैं एक पर हूँ MAC Mavericks चल रहा है। मेरा समाधान पोस्टग्रेज स्थापित करना था ।

और फिर कॉन्फ़िगरेशन के साथ होमब्रे का उपयोग करके टर्मिनल इंस्टॉल में:

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

नोट: यह उत्तर latestवर्तमान में पोस्टग्रेज एप्लिकेशन के शिपिंग संस्करणों में शामिल सिमलिंक का उपयोग करने के लिए संपादित किया गया है ।

पिछले संस्करणों ने सुझाव दिया:

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

यूप मेरा एक अलग स्थान भी था। जवाब के लिए धन्यवाद।
डेकोर

सही बॉब, पोस्टग्रेजैप का संस्करण जिसमें यह मेरे लिए काम करता था, संस्करण 9.2.2.0 था, इसलिए उन्होंने 9.3 रिलीज़ पर इस स्थान को बदल दिया होगा।
रॉबर्टबिरिस

1
और अब, 1/22/15 के रूप में हम 9.4 रिलीज़ देख रहे हैं, यह देखने के लिए अच्छा है कि वे इसे अपडेट कर रहे हैं - "मणि स्थापित pg - --wg-pg-config = / Applications / Postgres। एप्लिकेशन / सामग्री / संस्करण / 9.4 / बिन / pg_config "
corprew

3
मैं एक हड़बड़ी में था और इस उत्तर के हिस्से को याद करता था जो कहता है कि "होम-ब्रू का उपयोग करके इंस्टॉल करें"। मेरे जवाब के बाद मेरे लिए काम कियाbrew update; brew install postgres
डेनिस

6
अपने समाधान में, कृपया संस्करण जोड़ें, अन्य नवीनतम पीजी रत्न स्थापित होंगे:gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
user1322092

182

किसी तरह की त्रुटि यहाँ दिखाई देती है OS X पर PG रत्न स्थापित करना - देशी एक्सटेंशन के निर्माण में विफलता

उबंटू पर निर्भरता स्थापित करने के लिए यह प्रयास करें:

sudo apt-get install libpq-dev

और इस

gem install pg

5
एक मैक पर Im, मुझे क्या करना चाहिए?
डेकोर

1
Railstutorial.org पर ट्यूटोरियल का अनुसरण करें। मिंट के लिए आपको यही करना होगा। धन्यवाद।
क्रिस्टोफर श्नाइडर

railstutorial.org - पेड ट्यूटोरियल; कोई अन्य विचार?
टेरा एशले

21

एप्लिकेशन रूट:

  1. काढ़ा अद्यतन
  2. काढ़ा स्थापित पोस्टग्रेज
  3. मणि स्थापित पीजी - - साथ- pg-config = / usr / स्थानीय / तहखाने / पोस्टग्रैस्कल / 9.3.4 / बिन / pg_config
  4. बंडल स्थापित करें
  5. ln -sfv /usr/local/opt/postgresql/*.plist ~ / Library / Launchggents
  6. लॉन्चक्टल लोड ~ / लाइब्रेरी / LaunchAgents / homebrew.mxcl.postgresql.plist
  7. createuser -s -r postgres
  8. रेक db: create: all
  9. रेक डीबी: माइग्रेट
  10. रेल एस

नोट: यदि आवश्यक हो तो चरण 3 में संस्करण संख्या बदलें।


10

पुराने संस्करण के साथ पहले काम कर रहे उत्तर

मैं मैक OSX Mavericks के तहत स्थापित, www.postgresapp.com से पोस्टग्रेज एप्लिकेशन (संस्करण 9.2.2.0) होने से स्थापित। अंतर्निहित समस्या यह थी कि चूंकि ऐप के माध्यम से पोस्टग्रेज को स्थापित किया गया था, कॉन्फ़िगरेशन फ़ाइल एक स्थान पर रहती है जो कि बिना पोस्टग्रेड के इंस्टॉल करते समय डिफ़ॉल्ट नहीं है। इसलिए हमें मणि को यह बताने की जरूरत है कि इस फाइल को कहां खोजा जाए:

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

आशा करता हूँ की ये काम करेगा


1
यह मेरा समाधान (OSX) था
raulriera

अगर यह 9.3 किसी के लिए भी काम नहीं कर रहा है, तो विन्यास फाइल स्थानांतरित हो गई है - स्वीकृत उत्तर देखें।
डेकोर

5

यदि मणि स्थापित pg विफल रहता है, तो निम्न आदेश आज़माएँ:

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

... PostgreSQL.app प्रलेखन से


2
चूंकि आधिकारिक ऐप ने हाल ही में नाम बदलकर "Postgres93.app" कर दिया है, कमांड होना चाहिए: env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
ब्लैककोट

1
मेरे लिए इसके साथ काम किया: env ARCHFLAGS="-arch x86_64" gem install pg
dnlcrl

4

ऐसा लगता है कि आपके पास PostgreSQL स्थापित नहीं है। pgमणि देशी विस्तार संकलित करने के लिए PostgreSQL से कुछ हेडर की आवश्यकता है।


कैसे अपने रूबी / Bundler सेटअप के बारे में? आप Mac OS X या लिनक्स का उपयोग कर रहे हैं? और यदि आप Mac OS X का उपयोग कर रहे हैं, तो आपने PostgreSQL के माध्यम से homebrewया PostgreSQL.app स्थापित किया है ?
तुंग

एक मैक पर Im। मैंने ऐप के माध्यम से स्थापित किया
डेकोर

मेरे पास 0.17.0 स्थापित है। रेल 4 के साथ उपयोग करने में कोई नुकसान?
डेकोर

फिर दौड़ने की कोशिश करें bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_configऔर bundleफिर से दौड़ें । यदि आप एप्लिकेशन इंस्टॉल करने के ~/Applicationबजाय कॉन्फिग पथ को समायोजित करते हैं/Application
टंगड

3

मुझे सबकुछ मिलाना था और इस्तेमाल करना था

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

3

यदि आप विकास में Postgres के अलावा और उत्पादन में Postgres के अलावा कुछ का उपयोग कर रहे हैं, तो आप अपने मणि की तरह pg रत्न जोड़ सकते हैं ...

group :production do
  gem 'pg',             '0.17.1'
end

फिर उपयोग करें bundle install --without production



1

मैंने अभी एक नया मैकबुक प्रो स्थापित किया है जो कैटलिना के साथ बनाया गया था।

मेरे लिए क्या काम किया:

  1. यहां से पोस्टग्रैज स्थापित करें: https://postgresapp.com/
  2. export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"अपने को जोड़ें .zshenv, चूंकि Z शेल अब डिफ़ॉल्ट टर्मिनल है।

0

Postgres स्थापित करने के बाद मुझे निम्नलिखित कमांड चलाना था

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

इस बंडल के बाद काम करता है महान स्थापित!

आशा करता हूँ की ये काम करेगा


0

जिस तरह से मैं उस त्रुटि को पार करने में कामयाब रहा वह था:

  • सीडी से एप्लिकेशन फ़ोल्डर और फिर रूबी संस्करण को स्थानीय रूप से सेट करें। मैं रूबी 2.1.2 का उपयोग कर रहा हूं।

राबनेव लोकल 2.1.2

  • केवल बंडल इंस्टॉल चलाने के बजाय, रत्नों को विक्रेता / बंडल में स्थापित करें

बंडल इंस्टाल --पथ विक्रेता / बंडल

यह मेरे लिए किया।


0

मुझे सुडो का उपयोग करने की आवश्यकता थी

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

0

मैं अमेज़न के साथ एक समस्या हो रही थी और apt-get का उपयोग नहीं कर सकता था। मेरे काम के लिए:

    sudo yum install postgresql-devel

फिर:

    bundle install

और फिर प्रयत्न करें:

    rails serve

0

यदि आप Homebrew के माध्यम से स्थापित; gem install pg -- --with-pg-config=/usr/local/bin/pg_config। रूबी 2.4.6 और पृष्ठ 0.20.0 के साथ काम करता है।


-2

इससे मेरा काम बनता है

rvm list gemsets
rvm use ruby-2.4.1
bundle

त्रुटि [! [rvm उपयोग माणिक के साथ हल किया गया]


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