ओएस एक्स पर पीजी रत्न स्थापित करना - देशी विस्तार का निर्माण करने में विफलता


183

ऐसा लगता है कि कई अन्य लोगों को पीजी रत्न स्थापित करने में समस्या हुई है। दूसरों के लिए पेश किए गए समाधानों में से किसी ने भी मेरे लिए काम नहीं किया है।

मैं स्नातकोत्तर रत्न स्थापित करने और postgres.app स्थापित करने की कोशिश की है। पीजी रत्न स्थापित नहीं होगा। मुझे मिलने वाली पहली त्रुटि है:

Pg (0.17.0) को इंस्टॉल करते समय एक त्रुटि हुई, और बुंडलर जारी नहीं रख सकता। सुनिश्चित करें कि gem install pg -v '0.17.0'बंडल करने से पहले सफल होता है।

निम्नलिखित त्रुटि संदेश (जो इस मंच पर कई अन्य लोगों का सामना करना पड़ा है) के साथ pg के लिए मेरे रत्न संस्थापन को इंगित करने के बारे में अधिष्ठापन सलाह विफल हो जाती है:

Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out

मुझे नहीं पता कि आगे के सुरागों की खोज करने के लिए इस लॉग फ़ाइल को कैसे ढूंढना या एक्सेस करना है।

जब मैं sudo apt-get install कमांड का उपयोग करने का प्रयास करता हूं तो मुझे एक त्रुटि संदेश (कमांड नहीं मिला) भी मिलता है। मैंने पिछले 6 घंटों के लिए इस मंच पर दस्तखत किए हैं, मेरी रेल परियोजना के साथ काम करने के लिए सलाह के प्रत्येक टुकड़े की कोशिश कर रहा हूं।

मुझे इस बारे में सलाह नहीं मिल सकती है कि रास्ता कैसे बदलना है, या विशेष रूप से, किस परिवर्तन की आवश्यकता है। मेरा which pg_configएक फ़ाइल स्रोत लौटाता है। मैंने उस config का उपयोग करके pg को स्थापित करने के कमांड के साथ प्रयोग किया है। यह विफल रहा।

बहुत सारे लोग ऐसे हैं जिन्हें इससे परेशानी हुई है। कई जवाब होमब्रे का सुझाव देते हैं। मुझे इसे हटाना पड़ा क्योंकि इसने अन्य मुद्दों को उठा दिया।


1
अरे, एक युगल सवाल है कि सड़क नीचे मदद मिलेगी: - आप मैक पर हैं, है ना? होमब्रे के साथ सही हुआ? (पीएस, जैसा कि आपने उल्लेख किया है, एप्ट-गेट सिर्फ उबंटू (और इसके डेबियन-आधारित चचेरे भाई) के लिए है) - आपके पास क्या पोस्टग्रेज संस्करण है? psql -vअपने शेल में चलने का प्रयास करें। - आप कौन से रूबी संस्करण चला रहे हैं? यह 1.9.3 जैसा दिखता है, लेकिन आपको क्या ruby -vदेता है?
rmosolgo

मुझे जोड़ना चाहिए, कि मेरा psql इसमें जोड़ा गया है: /Applications/Postgres-1.app/Contents/MacOS/bin/psql; बाहर जाएं; psql (9.3.0) लेकिन जो psql देता है: usr / bin / psql
मेल

नमस्ते, यह देखने के लिए बहुत बहुत धन्यवाद। मेरा psql v 9.3.0 है और रूबी v 1.9.3 है
Mel

1
Postgres.app के लिए @ paninapress का उत्तर देखें। इसने मेरे लिए बहुत अच्छा काम किया और पोस्टग्रेज के एक और उदाहरण को स्थापित करने की आवश्यकता नहीं है।
जमन होल्मग्रेन

जवाबों:


442

मेरे लिए एक ही त्रुटि और मैंने इसे तब तक अनुभव नहीं किया जब तक कि मैंने ओएस एक्स 10.9 (मैवरिक्स) डाउनलोड नहीं किया। आह, एक और ओएस उन्नयन सिरदर्द।

यहां बताया गया है कि मैंने इसे कैसे तय किया (होमब्रे के साथ):

  • Xcode टूल का एक और बिल्ड स्थापित करें ( brew updateटर्मिनल में टाइप करने से आपको Xcode बिल्ड टूल अपडेट करने का संकेत मिलेगा)
  • brew update
  • brew install postgresql

उसके बाद gem install pgमेरे लिए काम किया।


7
मावरिक्स अपग्रेड के बाद मेरे रेल्स डीबी को ठीक करने की कोशिश करने वाले दो दिनों के सिरदर्द के बाद, इसने मेरे लिए यह तय किया, बहुत धन्यवाद।
देबोराह

4
यह मेरे लिए भी काम किया - एक ताजा मावेरिक्स स्थापित करने पर। धन्यवाद!
marcamillion 6

1
मेरी पवित्रता को बचाने के लिए धन्यवाद!
जिम

1
कर रही है। रूबी 2.2.0 पर एक पुराने-ईश ऐप का समर्थन करने के लिए परियोजना है, लेकिन सभी एक ही धन्यवाद।
ट्रिस्टिइजिमरमैन

1
1. brew update2. brew install postgresql3. gem install pg4.bundle install
kai_onthereal

223

यदि आप उबंटू का उपयोग कर रहे हैं, तो निम्नलिखित फ़ाइल को स्थापित करने का प्रयास करें

sudo apt-get install libpq-dev

और फिर

gem install pg

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


4
मेरे लिए भी काम किया। Ubuntu 13.10 का उपयोग कर रहा हूँ।
राफेलकिन

4
बस सुनिश्चित करें कि आप इसे सही तरीके से टाइप करते हैं। इसकी नहीं libpg-dev; इसकी क्यू नहीं पी! मुझे यह पता लगाने में 10 मिनट लगे कि कठिन रास्ता क्या है।
tir38

1
अमेज़ॅन लिनक्स के लिए यह हैyum install postgres-devel
andrewtweber

1
Ubuntu 14 पर मेरे लिए काम किया !!
18bytes

6
CentOS के लिएyum install postgresql-devel
septerr

49

मैं OS X Mavericks का उपयोग कर रहा हूं (संस्करण 10.9)

और जब मैं ऊपर चलाता हूं तो मुझे निम्न संदेश मिला: यदि पोस्टग्रेसीक्यू 9 के बिल्ड विफल हो रहे हैं और आपके पास संस्करण 8.x स्थापित है।

इसलिए मैं निम्नलिखित कमांड चलाता हूं:

ARCHFLAGS="-arch x86_64" gem install pg

और यह मेरे लिए काम किया, मुझे आशा है कि यह किसी की मदद करता है :)


2
+1, मैंने दूसरों की कोशिश की, लेकिन आखिरकार मैं इस समाधान के साथ मणि द्वारा स्थापित pg मिला।
बीएमडब्ल्यू

1
+1, इसी तरह, यह मेरे लिए भी समाधान था, जहां मेरा पोस्टग्रैस्कल पहले से ही काढ़ा के माध्यम से स्थापित किया गया था। धन्यवाद जॉन पोस्ट के लिए।
जेसन होकेस्ट्रा

5
nb यदि रूट (जो भी कारण के लिए) के रूप में स्थापित किया जा रहा है, तो sudo वैरिएबल से पहले जाता है :sudo ARCHFLAGS="-arch x86_64" gem install pg
Noach Magedman

वास्तव में, मुझे हर बार जब मैं दौड़ता हूं bundle installतो मुझे इसकी आवश्यकता होती है, इसलिए मैंने इसे ~/.bash_profileनिर्यात के रूप में रखा है :)
Ja͢ck

42

ठीक है, मुझे भी यह समस्या थी (psll v 9.3.0 है और रूबी v 2.1.2 है) और मेरे लिए काम करने वाला समाधान पहले बंडल कॉन्फिग सेटिंग्स को सेट कर रहा था:

bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

इस जवाब ने आखिरकार मुझे इसका पता लगाने में मदद की: https://stackoverflow.com/a/9235107/3546680


6
यदि आप postgres.app का उपयोग करते हैं तो यह विधि पसंद की जाती है । Homebrew का उपयोग करने से मूल एक्सटेंशन की समस्या ठीक हो सकती है, लेकिन दो पोस्टग्रैफ़िक एप्लिकेशन होने से टकराव पैदा होगा (पोर्ट आवंटन की तरह) यह भी देखें Sayanees का जवाब stackoverflow.com/questions/19569031/…
एपिगीन

4
यह निश्चित रूप से Postgres.app के लिए सही उत्तर है।
जमन होल्मग्रेन

Mojave पर अच्छी तरह से काम करता है, कुछ मिनट पहले सफलतापूर्वक कोशिश की।
माइक्रोस्पिनो

23

मैंने घंटों तक सब कुछ करने की कोशिश की लेकिन बाद में इसे ठीक कर लिया (मैं OS X 10.9.4 पर हूँ):

  1. Xcode कमांड लाइन टूल स्थापित करें (Apple डेवलपर साइट)
  2. काढ़ा स्थापना रद्द करें
  3. काढ़ा स्थापित करें postgresql
  4. ARCHFLAGS = "- मेहराब x86_64" मणि पीजी स्थापित करें

धन्यवाद। मैं चरण 4 के लिए sudo का उपयोग किया था, यह एक बुरी बात है? मैं इससे कैसे बच सकता हूं?
रॉय

@ रो - मदद करने के लिए खुश :) - ठीक होना चाहिए, शायद सुडो का उपयोग करने से बचना चाहिए क्योंकि मेरा मानना ​​है कि यह सभी उपयोगकर्ताओं के लिए इसे स्थापित करेगा, लेकिन अगर आप सिस्टम पर एकमात्र उपयोगकर्ता हैं, तो शायद यह सौदा नहीं है। ।
अली यजदानी

brew uninstall postgresqlऔर brew install postgresqlOS X 10.10 और 10.11 पर आवश्यक कदम नहीं हैं। बस gem uninstall pg(और सभी संस्करणों को हटा दें), फिर सुनिश्चित करें कि आप bundleया gem install pgफिर से, और मूल एक्सटेंशन इस ओएस एक्स संस्करण के लिए नए कमांड लाइन टूल के साथ फिर से बनाए जाएंगे।
ओलिवियर लैकन


6

इसी तरह, Mavericks स्थापित करने के बाद bundle updatepg रत्न पर एक त्रुटि फेंक रहा था, जिसका उपयोग केवल उत्पादन पर किया जाता है और स्थानीय रूप से नहीं।

मैं अपने पैकेज को प्रबंधित करने के लिए Brew का उपयोग करता हूं और postgresql पहले से ही स्थापित था, लेकिन फिर भी मुझे 'no pg_config' त्रुटि मिल रही थी।

ठीक करने के लिए था brew uninstall postgresql, तो brew install postgresql। जिसके बाद मैं तुरंत दौड़ने में सफल हो गया bundle update


6

मेरा मानना ​​है कि "सही" उत्तर सबसे पहले PATH को Postgres.app के लिए सही ढंग से कॉन्फ़िगर करने के लिए होगा ताकि निम्नलिखित को जोड़कर ~/.profile( .zshrcया ~/.zprofileअगर ZSH का उपयोग करके):

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

फिर टर्मिनल में एक नया टैब या विंडो खोलें और pgमणि को इनस्टॉल करें :

ARCHFLAGS="-arch x86_64" gem install pg

यहाँ प्रलेखित:


5

ओएसएक्स पर पोस्टग्रैस / इनस्टॉल के साथ, मैं केवल निम्नलिखित कमांड चलाता हूं ( आपके संस्करण के अनुसार 0.20 और 9.4 में बदलाव करें)

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

आपको होना चाहिए :

इसके साथ मूल एक्सटेंशन का निर्माण: '--with-pg-config = / Applications / Postgres.app / Contents / संस्करणों / 9.4 / bin / pg_config' इसमें कुछ समय लग सकता है ... सफलतापूर्वक स्थापित pg-0.20।


क्या आप बता सकते हैं कि तर्क देने से पहले हमें हाइफन 2 अतिरिक्त समय का उपयोग क्यों करना पड़ा?
आकाश अग्रवाल

3

मैंने इस पर एक दिन बिताया और यहां बताया गया है कि मैंने इसे कैसे तय किया:

मैंने पाया कि build.pg का वैश्विक मूल्य निर्धारित किया गया था: /opt/local/lib/postgresql91/bin/pg_config और वह नहीं था जहाँ पोस्टग्रेज स्थापित किए गए थे।

मैंने इसे build.pg के मान को बदलने के साथ तय किया है: bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config जो कि मेरा पोस्टग्रैक्स्ल इंस्टॉलेशन है।



0

हल किया! मुझे सिस्टम पर PostgreSQL के लिए पुस्तकालय की कुछ कमी मिली। केवल दो चरणों ने इसे हल किया:

brew install postgresql

फिर भागो

gem install pg


0

उन लोगों के लिए जो उपयोग करने के लिए इच्छुक नहीं हैं brew

  1. डाउनलोड PostgreSQLएप्लिकेशन ।
  2. इसे स्थापित करने के लिए macOS डिफ़ॉल्ट निर्देश का पालन करें।
  3. इसे चलाना उचित है PostgreSQl
  4. रन gem install pg -- --with-pg-config=/ पाथ / टू / पोस्टग्रेड / इन / योर / एप्लिकेशन / फोल्डर / `
    • उदाहरण के लिए, मेरी मशीन में यह है /Applications/Postgres.app/Contents/Versions/12/bin/pg_config
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.