Ubuntu पर PostgreSQL के pg रत्न को कैसे स्थापित करें?


292

मैं रूबी के लिए PostgreSQL के pg रत्न को स्थापित करने की कोशिश कर रहा हूं।

मैंने निम्न आदेश जारी किया:

gem install pg

मैंने आरवीएम का उपयोग करके रूबी 1.9.2 स्थापित किया।

उपरोक्त कमांड मुझे निम्न त्रुटि दिखाती है।

त्रुटि है:

Building native extensions.  This could take a while...

ERROR:  Error installing pg:

ERROR: Failed to build gem native extension.

/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby extconf.rb

checking for pg_config... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)

*** 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=/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby
 --with-pg
 --without-pg
 --with-pg-config
 --without-pg-config
 --with-pg-dir
 --without-pg-dir
 --with-pg-include
 --without-pg-include=${pg-dir}/include
 --with-pg-lib
 --without-pg-lib=${pg-dir}/lib
 --enable-static-build
 --disable-static-build
 --with-pqlib
 --without-pqlib
 --with-libpqlib
 --without-libpqlib
 --with-ms/libpqlib
 --without-ms/libpqlib

Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0 for inspection.

Results logged to /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0/ext/gem_make.out

मुझे नहीं पता कि क्या त्रुटि है ...


1
apt install postgresql-server-dev-allउबंटू के लिए 18.04।
रिचर्ड पेक

जवाबों:


678

आपको PostgreSQL के हेडर के साथ postgreSQL डे पैकेज स्थापित करने की आवश्यकता है

sudo apt-get install libpq-dev

मैंने आपके सुझाव के अनुसार ... Follwoing की जरूरत है 0B अभिलेखागार प्राप्त करने के लिए। अनपैक करने के बाद 5378kB को मुक्त किया जाएगा। क्या आप जारी रखना चाहते हैं? [Y / n /?] Y लेखन ने राज्य की जानकारी को विस्तारित किया ... पूरा किया गया (डेटाबेस पढ़ना ... 166183 फाइलें और निर्देशिकाएं वर्तमान में स्थापित हैं।) बायसन को हटाना ... libnss3-dev को हटाना ... libnspr4-dev को हटाना ... निकालना libqt4-core ... libqt4-test को हटा रहा है ... libsqlite3-dev को हटा रहा है ... मैन-डीबी के लिए प्रसंस्करण ट्रिगर करता है ..
पैलानी

3
मेरे लिए उबंटू के लिए वास्तव में नया है, लेकिन वास्तव में नया प्रयोग sudo apt-get install aptitudeपहले :)
हरिस क्रजिना

1
सभी प्रकार के संयोजन की कोशिश की। पोस्टग्रैस और लीबकप को फिर से स्थापित करने के बाद भी। भाग्य नहीं .. अभी भी वही समस्या है
कृष्णप्रसाद वर्मा

5
सेंट / रेडहैट-फ्लेवर्ड डिस्ट्रोस के लिए, जो पैकेज आप चाहते हैं वह हैyum install postgresql-devel
किर्ल जूल

1
मुझे लगता है कि यह कुछ लोगों के लिए अपने उबंटू संस्करणों के कारण काम नहीं कर रहा होगा। यह मेरे लिए 13.04 पर पोस्टग्रैस 9.1
रीब्स

40

2 दिनों के लिए पढ़ने और जोर लगाने के बाद, और अन्य नोटों में पाई गई कई चीजों की कोशिश करने के बाद उबंटू ल्यूसिड 10.04 पर मेरे लिए कुछ मावरिक पैकेज और आरवीएम (रूबी 1.9.2-P290, आरवीएम 1.25.2 रूबीज) मिलाया गया १. 3.0.१५, रेल ३.३.१, es.४.१० पर पोस्टग्रे)

gem install pg  --   --with-pg-lib=/usr/lib   

परिणाम:

Building native extensions.  This could take a while...  
Successfully installed pg-0.13.1  
1 gem installed  
Installing ri documentation for pg-0.13.1...  
Installing RDoc documentation for pg-0.13.1...  

{हाँ - अंत में सफलता} !! ध्यान दें कि pg_config चलाने से आउटपुट मेरे Ubuntu / Postresql स्थापित पर LIBS चर में -lpq आइटम का अभाव है !!

और क्यों pq से स्विच करने के लिए कुछ स्थानों में पीजी - नौसिखिया के लिए भ्रामक ??

वह बात जो मुझे अभी भी समझ में नहीं आई है - और --with (विकल्प) का दोहरा सेट है, लेकिन मैं वैसे भी अपनी गहराई से परे हूं


2
'-' का उपयोग आम तौर पर पहले कमांड को दूसरे से अलग करने के लिए किया जाता है, इस मामले में, एक्समोड की कॉन्फ़िगर स्क्रिप्ट
टिमोथी मीड

1
धन्यवाद। आपका समाधान एकदम सही था।
सिड

इस समाधान को साझा करने के लिए बहुत बहुत धन्यवाद। एक दिन के लिए इस पर अटक गया था। मुझे इस पोस्ट का सामना करना पड़ा।
whizcreed

30

मैं Ubuntu 12.10 पर हूं और इस कमांड को चला रहा हूं:

apt-get install libpq-dev

मेरी मदद की - उसके बाद मणि स्थापित pg -v "0.14.1", और अब सभी अच्छे हैं



25

उबंटू में यह मेरे लिए काम करता है, मुझे आशा है कि आप मदद करेंगे:

sudo apt-get install libpq-dev

तथा

gem install pg  --   --with-pg-lib=/usr/lib 

24

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

sudo apt-get install libpq-dev build-essential

16

Ubuntu उपयोगकर्ताओं के लिए सरल समाधान ...

सबसे पहले सभी पोस्टग्रैज पैकेज को अनइंस्टॉल करें, फिर चलाएं ये कमोड ...

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

# for rvm (single user)
mv ~/.rvm/usr/lib ~/.rvm/usr/lib_rvm 

# for rvm (multi-user)
mv /usr/local/rvm/usr/lib /usr/local/rvm/usr/lib_rvm

gem install pg  --   --with-pg-lib=/usr/lib

फिर 'बंडल इनस्टॉल' चलाएं। सब कुछ ठीक हो जाएगा। आपका दिन शुभ हो!


1
यदि लोग सभी पोस्टग्रेज पैकेजों को हटाने के तरीके के बारे में उत्सुक हैं, sudo apt-get remove --purge postgresql postgresql-9.3 (या आपके पास जो भी पोस्टग्रेट्स का संस्करण है)।
टॉमीइक्सी

9

.RVM उपयोगकर्ताओं के लिए यह बेहतर होगा:

rvmsudo gem install pg -- --with-pg-lib=/usr/lib 

इसने मेरे लिए काम किया (मैंने jdupont संस्करण को देखा)


7

यदि आपके पास libpq-dev स्थापित है और अभी भी यह समस्या है, तो यह OpenSSL के libssl और दोस्तों के परस्पर विरोधी संस्करणों के कारण होने की संभावना है - उबंटू सिस्टम संस्करण in / usr / lib (जिसके खिलाफ libpq बनाया गया है) और $ में स्थापित एक दूसरा RVM घर / .rvm / usr / lib (या / usr / स्थानीय / rvm / usr / lib यदि यह सिस्टम इंस्टॉल है)। आप अस्थायी रूप से $ HOME / .rvm / usr / lib का नाम बदलकर यह सत्यापित कर सकते हैं कि "मणि स्थापित pg" काम करता है या नहीं।

समस्या को हल करने के लिए सिस्टम ओपनएसएसएल पुस्तकालयों का उपयोग करके rvm पुनर्निर्माण किया है (आपको मैन्युअल रूप से libssl को हटाने की आवश्यकता हो सकती है। * और libcrypto। * Rvm / usr / lib dir से):

rvm reinstall 1.9.3 --with-openssl-dir=/usr

इसने आखिरकार मेरे लिए Ubunto 12.04 पर समस्या हल कर दी।


इस उत्तर के लिए धन्यवाद! नए उबंटू और पुराने रूबी में अधिक संभावना है कि ओपनएसएसएल बेमेल होगा।
mikeycgto

इसके सिवाय और कुछ काम नहीं हुआ! बहुत बहुत धन्यवाद @ माइक-ब्लैकवेल। आपके बचाव में आने से पहले मैंने उम्मीद छोड़ दी थी।
चरगावल

6

इसे इस्तेमाल करे

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

आपको क्लाइंट स्थापित करने के लिए पहले स्थान पर पीजी डेटाबेस सर्वर स्थापित करना चाहिए। बाद में, आप क्लाइंट स्थापित करते हैं।

रूबी डेवलपमेंट पर रूबी के लिए पहली बार PostGresSQL स्थापित करने के बारे में जानने के लिए इस ब्लॉग पोस्ट को देखें।


5

इसने मेरे लिए उबंटू 12.04 की समस्या को हल कर दिया क्योंकि यहाँ हर सुझाव विफल हो गया था।

rvmsudo gem install pg -v '0.12.2' -- --with-pg-lib=/usr/include/postgresql

मेरा समाधान लगभग एक ही था; मैं rbenv का उपयोग कर रहा हूँ और जो मेरे लिए काम कर रहा था: `मणि स्थापित pg - --with-pg-lib = / usr / lib / postgresql / - साथ -gg-शामिल = / usr / शामिल / postgresql /`; मुझे एक संस्करण निर्दिष्ट करने की आवश्यकता नहीं थी।
दान तेनबाम

3

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

sudo apt-get install aptitude

के बाद

sudo apt-get install libpq-dev

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


3

इस पृष्ठ पर सभी उत्तरों को आज़माने के बाद भी जो समस्याएँ हैं, उनके लिए निम्नलिखित (आखिरकार) काम किया है:

sudo apt-get install libgmp3-dev
gem install pg

यह इस पृष्ठ पर उल्लिखित सब कुछ करने के बाद था ।

postgresql 9.5.8
उबंटू 16.10


उबंटू 18.04
वेस्टन गैंगर

1

मुझे एक ही समस्या थी, और बहुत से भिन्न प्रकारों की कोशिश की। कुछ प्रयासों के बाद मैं सक्षम हो गया sudo gem install, लेकिन अभी भी इसे बिना सूडो के स्थापित करने की समस्या है।
अंत में मुझे एक डिस्क्शन मिला - आरवीएम को फिर से स्थापित करने से मुझे मदद मिली। संभवत: यह किसी और का समय बचा सकता है।


1

इस समस्या का एक और समाधान Homebrew / linuxbrew का उपयोग करके PostgreSQL को स्थापित करना है:

brew install postgresql

जब तक मुझे कोई आदत नहीं है, तब तक मुझे सुडोल का उपयोग करना पसंद नहीं है।


Homebrew केवल Mac के लिए है।
IIllIIll

2
एक लिनक्स कांटा है।
एफ्रिस्टोफरसन

यदि आप पूर्ण PostgreSQL को स्थापित नहीं करना चाहते हैं, तो निम्नलिखित ने मेरे लिए काम किया:brew install libpq && brew link libpq --force
एंड्रयू

1

Redmine को स्थापित करने की कोशिश करने वालों के लिए, मैं sudo apt-get install ruby-all-devउपरोक्त सभी को आज़माने के बाद चूक गया।

प्रारंभिक त्रुटि mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h



0

एक अन्य विकल्प होमब्रे का उपयोग करना है जो लिनक्स और मैकओएस पर काम करता है बस सहायक लाइब्रेरी स्थापित करने के लिए:

brew install libpq

फिर

brew link libpq --force

( --forceविकल्प की आवश्यकता है क्योंकि यह पोस्टग्रेज सूत्र के साथ संघर्ष करता है।)

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