2013-03-19 8 views
5

हेओ शुरू करते समय लाइब्रेरी लोड नहीं हुई। अगर किसी अन्य धागे में इस प्रश्न का उत्तर दिया गया है तो मैं पहले से माफी माँगता हूं। मैंने साइट के माध्यम से खोज की है लेकिन मुझे कोई जवाब नहीं मिला। हालांकि, निकटतम संबंधित मुद्दा Ruby on Rails/PostgreSQL - Library not Loaded error when starting server- libq.5.dylib था, लेकिन इसे कभी हल नहीं किया गया था, और उत्तर मेरी मदद नहीं करता है।रेल/पोस्टग्रेएसक्यूएल पर रूबी - सर्वर

मैं अपने मैक ओएसएक्स 10.6.8 पर पोस्टग्रेएसक्यूएल चलाने की कोशिश कर रहा हूं। मेरे पास पहले से रूबी 1.9.3p392 और रेल 3.2.13 स्थापित है।

जब से मैं 10.6.8 करती हैं, और PostGresApp 10.7+ की आवश्यकता है, मैं यहाँ मैनुअल संस्थापक (v9.2.3) उपलब्ध का उपयोग कर पीजी स्थापित करने की कोशिश की: http://www.enterprisedb.com/products-services-training/pgdownload

मैं पहली बार में उसके डिफ़ॉल्ट पथ के लिए इसे स्थापित:/लाइब्रेरी/PostgreSQL/9.2 /। मैंने फिर पीजी मणि (PATH=$PATH:/Library/PostgreSQL/9.2/binsudo gem install pg) स्थापित किया। जब मैंने अपना लोकहोस्ट लॉन्च करने के लिए rails s की कोशिश की, तो मुझे नीचे त्रुटि मिली।

कुछ पढ़ने के बाद, मैंने अनुमान लगाया कि यह एक पथ त्रुटि हो सकती है, इसलिए मैंने पीजी मणि हटा दिया, और फिर postgresql अनइंस्टॉलर का उपयोग किया। मैंने फिर /users/stewartmccoy/Library/PostgreSQL/9.2/... में पीजी को पुनर्स्थापित किया और फिर पीजी मणि को पुनर्स्थापित किया। लेकिन मुझे अभी भी वही त्रुटि मिलती है।

कोई विचार है कि मैं PostgreSQL को सही तरीके से कैसे स्थापित कर सकता हूं और मेरे रेल सर्वर को चला सकता हूं?

stewart-mccoys-macbook:footy_subs stewartmccoy$ rails s 
/Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg.rb:4:in `require': dlopen(/Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib (LoadError) 
    Referenced from: /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg_ext.bundle 
    Reason: image not found - /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg_ext.bundle 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg.rb:4:in `<top (required)>' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `block (2 levels) in require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `each' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `block in require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `each' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler.rb:132:in `require' 
    from /Users/stewartmccoy/Code/footy_subs/config/application.rb:13:in `<top (required)>' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:53:in `require' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:53:in `block in <top (required)>' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 
stewart-mccoys-macbook:footy_subs stewartmccoy$ gem uninstall pgSuccessfully uninstalled pg-0.14.1 
stewart-mccoys-macbook:footy_subs stewartmccoy$ PATH=$PATH:/users/stewartmccoy/Library/PostgreSQL/9.2/bin sudo gem install pg 
Password: 
Fetching: pg-0.14.1.gem (100%) 
Building native extensions. This could take a while... 
Successfully installed pg-0.14.1 
1 gem installed 
Installing ri documentation for pg-0.14.1... 
Installing RDoc documentation for pg-0.14.1... 
stewart-mccoys-macbook:footy_subs stewartmccoy$ rails s 
/Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg.rb:4:in `require': dlopen(/Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib (LoadError) 
    Referenced from: /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg_ext.bundle 
    Reason: image not found - /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg_ext.bundle 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.14.1/lib/pg.rb:4:in `<top (required)>' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `block (2 levels) in require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `each' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `block in require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `each' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `require' 
    from /Users/stewartmccoy/.rvm/gems/[email protected]/gems/bundler-1.3.4/lib/bundler.rb:132:in `require' 
    from /Users/stewartmccoy/Code/footy_subs/config/application.rb:13:in `<top (required)>' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:53:in `require' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:53:in `block in <top (required)>' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap' 
    from /Users/stewartmccoy/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 
+1

* thankyou * उचित स्तर का विस्तार प्रदान करने के लिए - पीजी संस्करण, पीजी पैकेज प्रकार, होस्ट ओएस, आदि –

+0

संभव डुप्लिकेट [रेल/पोस्टग्रेएसक्यूएल पर रूबी - सर्वर- libq.5.dylib शुरू करते समय लाइब्रेरी लोड नहीं हुई त्रुटि) (http://stackoverflow.com/questions/9182645/ruby-on-rails-postgresql-library-not-loaded-error-when-starting-server-libq) – bummi

उत्तर

6

त्रुटि के महत्वपूर्ण हिस्सा है:

Library not loaded: libpq.5.dylib (LoadError) 

यह पता चलता है कि माणिक रनटाइम पर libpq नहीं मिल रहा। यह पता लगाने के लिए कि आपको संभवतः DYLD_LIBRARY_PATH पर्यावरण चर सेट करना चाहिए, जो आपके पोस्टग्रेएसक्यूएल इंस्टॉलेशन की lib निर्देशिका को इंगित करने के लिए, या तो वैश्विक रूप से या एक रैपर स्क्रिप्ट में जिसे आप रेल शुरू करने के लिए उपयोग करते हैं। कुछ और जानकारी के लिए this superuser question देखें।

Pg मणि क्योंकि pg_config निष्पादन PATH पर है संकलन और स्थापना के दौरान पुस्तकालय पा सकते हैं और यह है कि का उपयोग करता है libpq खोजने के लिए। ऐसा लगता है कि यह रनटाइम पर उपयोग के लिए पथ को संग्रहीत नहीं करता है, इसलिए आपको रनटाइम गतिशील लिंकर को स्वयं सेट करना होगा।

#!/bin/bash 
export DYLD_LIBRARY_PATH=/path/to/pg/lib 
exec rails "[email protected]" 

"$ @" मूल रूप से मतलब है "के रूप में अगर के माध्यम से इस स्क्रिप्ट के लिए सभी तर्क पारित:

एक सरल आवरण स्क्रिप्ट (मामले में आप अपने वैश्विक वातावरण को संशोधित नहीं करना चाहती) कुछ की तरह है वे सीधे यहां पारित किए गए "। यह सही ढंग से उद्धरण को संरक्षित करता है और अनिवार्य रूप से इसका मतलब है कि रेल कमांड यह नहीं बता सकता कि आपने इसे सीधे नहीं चलाया है।

+0

धन्यवाद क्रेग।क्या कोई कारण है कि मैं वैश्विक स्तर पर DYLD_LIBRARY_PATH पर्यावरण चर सेट नहीं करना चाहता हूं? यदि रैपर स्क्रिप्ट सबसे अच्छा तरीका है, तो मुझे स्क्रिप्ट को कैसे सहेजना चाहिए और कहां? यानी फाइलनाम और एक्सटेंशन और किस निर्देशिका में, रेलवे रनटाइम पर स्क्रिप्ट चलाने के लिए जानता है? – stewartmccoy

+0

@stewartmccoy रेल स्क्रिप्ट नहीं चलाता है, आप रेल शुरू करने के लिए स्क्रिप्ट का उपयोग करते हैं। इसका उपयोग करें जैसे कि यह 'रेल' कमांड था। ज्यादातर मामलों में वैश्विक स्तर पर 'DYLD_LIBRARY_PATH' सेट करना ठीक है, हालांकि, लाइब्रेरी नाम विवाद होने पर ऐसा करने का एकमात्र कारण नहीं है। –

+0

मैंने वैश्विक स्तर पर 'DYLD_LIBRARY_PATH' सेट करने के लिए SO/googling को खोजने का प्रयास किया, लेकिन मुझे कोई समाधान नहीं मिला। मैं उसे कैसे कर सकता हूँ? मुझे लगता है कि मुझे '/ users/stewartmccoy/लाइब्रेरी/PostgreSQL/9.2/'के लिए पथ सेट करने की आवश्यकता होगी, जहां से मैंने पीजी स्थापित किया है? और, यदि मैं उस दृष्टिकोण को लेता हूं, तो क्या मैं स्थानीयहोस्ट पर ऐप्स देखने के लिए 'रेल एस' का उपयोग कर पाऊंगा? – stewartmccoy

0

एक समान स्टैक ओवरफ्लो उत्तर ने आपके पाथ से पोस्टग्रेस.एप को हटाने, पीजी मणि को अनइंस्टॉल करने और फिर पीजी मणि इंस्टॉल करने का प्रस्ताव दिया।

(मैं समय ध्यान से जाँच करने के लिए है कि अगर इस समस्या पर लागू होता है ले रहा हूँ नहीं है, लेकिन यह एक समस्या मैं था हल और मैं चारों ओर है कि समाधान का प्रसार करने के मैं मुसीबत यह खोजने में कठिनाई हुई के बाद से चाहते हैं।)

संबंधित मुद्दे