रेल 3 - पीजी रत्न स्थापित नहीं कर सकते


98

जब मैं बंडल (बंडल इंस्टॉल) चलाने की कोशिश करता हूं, तो मुझे हर समय मिलता है

Installing pg (0.13.2) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/ryan/.rvm/rubies/ruby-1.9.2-p290/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.

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=/Users/ryan/.rvm/rubies/ruby-1.9.2-p290/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 /Users/ryan/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.13.2 for inspection.
Results logged to /Users/ryan/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.13.2/ext/gem_make.out
An error occured while installing pg (0.13.2), and Bundler cannot continue.
Make sure that `gem install pg -v '0.13.2'` succeeds before bundling.

मैं Mac OS X 10.6 का उपयोग करता हूं, इंस्टॉल किए गए PostgreSQL का संस्करण 9.1 है। मैंने पाया कि समस्या libpq- देव में है , मैं इसे कैसे स्थापित / ठीक कर सकता हूँ?


2
आपने अपने मैक पर पोस्टग्रेज कैसे स्थापित किया है?
शिंगारा


on_click इंस्टॉलर? झपकी? या MacPort?
शिंगारा

मैंने इसे इस तरह से स्थापित करने की कोशिश की: sudo port install libpq-devलेकिन एक और समस्या है - Error: Port libpq-dev not found To report a bug, see <http://guide.macports.org/#project.tickets>। यह भयानक है, अभी भी कुछ समस्याएं हैं ...
user984621

1
इस प्रश्न को देखें: [यहाँ] [१] [१]: stackoverflow.com/questions/10321189/…
५२ पर banditKing

जवाबों:


78

जैसा कि आपकी त्रुटि लॉग में कहा गया है कि आपको pg_config के लिए मार्ग में पास होना चाहिए। मणि का उपयोग करके स्थापित करने का प्रयास करें:

gem install pg -- --with-pg-config= 'PATH_TO_YOUR_PG_CONFIG'

यदि आप सुनिश्चित नहीं हैं कि आपका pg_config कहां है, और यह मानकर कि आप लिनक्स या मैक पर हैं, तो आप निम्नलिखित चीजें चला सकते हैं:

which pg_config

आपके द्वारा स्थापित पोस्टग्रेज के आधार पर आपका pg-config विभिन्न स्थानों में हो सकता है।


एक नोट के रूप में, पोस्टग्रेज साइट से बाइनरी पैकेज में विकास हेडर या pg_configप्रोग्राम नहीं है।
tadman

3
यहाँ से बाइनरी पैकेज: enterprisedb.com/products-services-training/pgdownload#osx सबसे निश्चित रूप से करता है दोनों हो सकते हैं pg_config(जैसे, पर /Library/PostgreSQL/9.1/bin/pg_config9.1.x के लिए) और विकास हेडर। यह वही है जो मैं pgविकास में मणि का परीक्षण करने के लिए उपयोग करता हूं ।
माइकल ग्रेंजर

8
which pg_configसे तेज नहीं होगा find / -name pg_config?
जस्टिन डी।

आपकी कमांड लाइन आर्ग्स के लिए एक मामूली ट्विन बनाया। संस्करण को अपने वर्तमान के साथ बदलकर ठीक काम करना चाहिए। यहाँ मेरी कमांड लाइन है: sudo env ARCHFLAGS = "- आर्च x86_64" मणि स्थापित pg - --with-pg- शामिल = / लाइब्रेरी / पोस्टग्रेसीक्यूएल / 9.1 / शामिल / / -with-pg-lib = / Library / PostgreSQL / 9.1 / lib /
रॉड पैडॉक

13
OSX पर आप हेडर प्राप्त करने के लिए काढ़ा का उपयोग कर सकते हैं brew install libpqxxऔर सब कुछ ठीक हो जाएगा।
वेट्सिन

99

यदि आप लिनक्स पर चल रहे हैं, तो आप मेरे लिए काम करने में दिलचस्पी ले सकते हैं:

sudo apt-get install postgresql
sudo apt-get install libpq-dev

फिर

gem install pg

फिर

bundle install

src: http://wikimatze.de/installing-postgresql-gem-under-ubuntu-and-mac


1
धन्यवाद, जैसा कि यह मेरे मामले में है -
valk

21
OS X के लिए उपयुक्त नहीं है
dfrankow

1
नवंबर 2013 में उबंटू 13.04 के रूप में मेरे लिए काम किया!
14

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

1
@sevenseacat यह स्पष्ट रूप से ओएस को बताता है जिसका उपयोग किया जाना चाहिए। और स्पष्ट रूप से लिनक्स ओएस वाले बहुत से लोग इस जवाब को पा रहे हैं जब वे इस समस्या पर शोध करते हैं।
EE33

57

यदि आप Postgress.app का उपयोग कर रहे हैं, तो आप अपने कमांड-लाइन टूल तक पहुंच प्राप्त करना चाहते हैं । अपने टर्मिनल या अपने PATH प्रोफ़ाइल में निम्न पंक्ति दर्ज करें :

 PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

gem install pgअब काम करना चाहिए। (इसी से मेरा काम बना है।)

नोट नया संस्करण पथ इस तरह दिखता है:

/Applications/Postgres.app/Contents/Versions/<version>/bin

3
बहुत बहुत धन्यवाद! मैंने आधे घंटे ऐसे कामों में गुज़ारे, जो काम नहीं आए और अंत में यह दफन हो गया। : डी
पीटर ब्राउन

1
महान समाधान है कि काढ़ा की आवश्यकता नहीं है।
lucian303

7
बस इस बात का ध्यान रखें कि 93 संस्करण में Postgre.app पैच बदल गया। अब यह है: /Applications/Postgres93.app/Contents/MacOS/bin
Alain

2
इसने मेरे लिए काम किया, हालाँकि मेरा बिन बहुत अलग जगह पर था -> /Library/PostgreSQL/9.3/bin
यिर्मयाह

5
यह अब है - /Applications/Postgres.app/Contents/Versions/9.3/bin9.3.5 के रूप में यदि आप
एशले

21

यदि आपके पास होमब्रे है, तो बस टाइप करें:

$ काढ़ा पोस्टग्रेजेकल स्थापित करें

यदि आपके पास यह नहीं है, तो इसे अपने टर्मिनल में टाइप करें:

रूबी -ई "$ (कर्ल-एफएफएसएल https://raw.github.com/Homebrew/homebrew/go/install )"


12

Libpq के लिए खोजें:

brew search libpq

आउटपुट चाहिए libpqxx

फिर इसे स्थापित करने का प्रयास करें:

brew install libpqxx

8

आपको केवल स्थापित करने की आवश्यकता है libpq-dev:

sudo apt-get install libpq-dev

फिर मणि को ठीक स्थापित करना चाहिए।


8
OS X के लिए उपयुक्त नहीं है
dfrankow

मेरे मामले में केवल इससे मदद मिली। Thanx!
कोवपैक

7

स्थापना के बाद के निर्देशों का पालन करें: http://postgresapp.com/documentation/configuration-ruby.html

Pg रत्न को स्थापित करने के लिए, सुनिश्चित करें कि आपने अपना $ PATH सही ढंग से सेट किया है (जैसा कि http://postgresapp.com/documentation/cli-tools.html में निर्दिष्ट है ), फिर चलाएं

sudo ARCHFLAGS="-arch x86_64" gem install pg

मैं दृढ़ता से दोनों पृष्ठों को पढ़ने की सलाह देता हूं । बस उन्हें स्किम कर दिया और मेरे जीवन का 1 घंटा खो दिया। उन्हें पढ़ें, समस्या हल हुई।


OSX 10.9.5 पर काम करता है, डिफ़ॉल्ट रूबी संस्करण 2.0, rbenv स्थानीय संस्करण 1.9.3।
jlucasps

OSX 10.11 THANKS पर काम करता है
यारिन

OSX 10.11.4 पर काम करता है। धन्यवाद!!
मार्टिन चैम्बरलिन

3

मेरे पास समस्या यह थी कि किसी कारण से यह /usr/bin/gcc-4.2 के साथ संकलन करने की कोशिश कर रहा था। मैंने पाया कि try_cpp को mkmf.rb में बदलकर (जिसे मैंने स्टैक ट्रेस में देखा था) कंपाइल लाइन के साथ एक अपवाद जुटाने के लिए जो असफल हो रहा था।

मैंने gcc-4.2 के लिए सॉफ्ट-लिंक्ड gcc और यह काम किया:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

यह gcc-4.2 का उपयोग करने की कोशिश क्यों कर रहा था? कोई जानकारी नहीं।

वास्तविक संकलन लाइन:

/usr/bin/gcc-4.2 -E -I/Users/dfrankow/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/x86_64-darwin11.4.0 -I/Users/dfrankow/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/ruby/backward -I/Users/dfrankow/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -I/usr/local/Cellar/postgresql/9.1.4/include  -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -fno-common -pipe  conftest.c -o conftest.i (RuntimeError)

3

मुझे एक ही मुद्दा मिला लेकिन मेरे पोस्टग्रेज में स्थापित किया गया था

/Library/PostgreSQL/9.3

जोड़कर ~ / .bash_profile अपडेट किया गया:

export PATH=/Library/PostgreSQL/9.3/bin:$PATH

एक नया टर्मिनल खोलें, चलाएं bundle updateऔर यह मेरे लिए भी काम करता है। धन्यवाद अरी।


लेकिन काम करने के लिए मुझे संस्करण की जांच करने की आवश्यकता है, तो PATH = / Applications / Postgres.app / Contents / संस्करणों / 9.4 / bin: $ PATH
Prateep Kul

1

आप एक बिल्ड कॉन्फिगर विकल्प सेट कर सकते हैं bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_configऔर gem install pgबिना किसी विकल्प के उपयोग कर सकते हैं (आपके लिए pg_config का रास्ता अलग हो सकता है, यह पोस्टग्रैप्स 9.3.5.0 के लिए है)


1

मुझे अपनी OpenSUSE13.1 KDE मशीन में भी यही समस्या थी। उस मुद्दे से पहले मैंने सामना किया था कि मैंने केवल संकुल स्थापित किया था postgresqlऔर कमांड postgresql-serverका उपयोग कर रहा था zypper। फिर 2 और पैकेजों को फिर से स्थापित किया गया:

[arup@to_do_app]$ sudo zypper in postgresql-devel postgresql-contrib
root's password:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
#....

फिर, मैं फिर से दौड़ा bundle install, और सफलता !!!


0

एक कार्यशील OSX समाधान के लिए इस गाइड को देखें http://krugerdavid.com/journal/how-to-install-xcode-homebrew-git-rvm-postgresql-ruby-1-9-3-on-snow-leopard/

यह होमब्रे का उपयोग करके PostgreSQL को स्थापित करने के माध्यम से आपको चलेगा। परीक्षण किया और OSX 10.8.3, PostgreSQL 9.2.3, और रूबी 2.0.0-p0 पर मेरे लिए काम कर रहा है


0

सबसे पहले, किसी भी Homebrew संस्करणों की स्थापना रद्द करें। --फोर्स विकल्प यह सभी संस्करणों की स्थापना रद्द करता है।

brew rm postgresql --force

अपने संस्करण के अनुसार पथ बदलें।

sudo /sbin/SystemStarter stop postgresql-8.4
sudo rm -rf /Applications/PostgreSQL\ 8.4
sudo rm -rf /etc/postgres-reg.ini
sudo rm -rf /Library/StartupItems/postgresql-8.4
sudo rm -rf /Library/PostgreSQL/8.4
sudo dscl . delete /users/postgres

संपादित करें / आदि / प्रोफाइल और किसी भी लाइनों को हटा दें जो संदर्भ "पोस्टग्रेज" करता है।

nano /etc/profile

PostgresSQL स्थापित करें

brew update
brew install postgresql

डे PG GEM स्थापित करें

gem install pg

बस। सादर।


0

आप पहले यह देखने के लिए जांच कर सकते हैं कि क्या आपके पास अपने टर्मिनल में एक पोस्टग्रेजल फ़ाइल है, जो कि आपकी फ़ाइल में है। cd ~ / opt / local / lib / जा रहा है और फिर ls और एंटर बटन टाइप करें। यह आपको उन सभी फाइलों की एक सूची दिखाएगा जो कि लिब्रेट डायरेक्टरी में स्थित हैं।

1. यदि आप postreseql नहीं है आप macports के माध्यम से डाउनलोड कर सकते हैं। sudo port इंस्टॉल करें postgresql93 @ 9.3.2_1

अब वापस अपने फोल्डर में cd करें जिसे आप इंस्टाल बंडल करने की कोशिश कर रहे हैं

  1. आपके पास आपकी पोस्टगेस्कल फ़ाइल के साथ काम करने के लिए आपका पीजी हो रहा है या सिर्फ डाउनलोड किया गया रत्न इंस्टॉल पीजी - --with-pg-config = / opt / local / lib / postgresql93 / bin / pg_config

अब बंडल इंस्टॉल चलाएं



0

एल कैपिटन पर मेरे लिए जो काम किया गया था वह सिस्टम डिफॉल्ट से 2.3.1 तक माणिक को अपग्रेड कर रहा था pg

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