2012-11-26 16 views
10

अगर मैं rails s चलाने के लिए, मैं:रेल रों वापसी: [bug] विभाजन गलती

/Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/pg-0.13.2/lib/pg_ext.bundle: [BUG] Segmentation fault 
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 

Abort trap: 6 

संस्करण:

rails -v 
Rails 3.2.1 
ruby -v 
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.2.0] 

है क्यों त्रुटि संदेश में गहरे लाल रंग का संस्करण उल्लेख किया 1.8.7 यदि मैं 1.9.3 का उपयोग करता हूं?

+0

क्या आपके पास सही वातावरण है? क्या आपने 'आरवीएम उपयोग 1.9.3' चलाया है? –

+0

'रेल' और 'कौन सा रूबी' का उत्पादन क्या है? –

+0

दोस्तों, मैंने बस आरवीएम संस्करण 1.9.3 को पुनर्स्थापित किया है और अब यह काम कर रहा है ... – user984621

उत्तर

3

मैं एक ऐसी ही समस्या थी, bundle exec के साथ कुछ भी चल रहा है एक विभाजन गलती दिया:

~/mayapp >bundle exec rake -T 
/Users/rogermarlow/.rvm/gems/ruby-1.9.3-p327/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle: [BUG] Segmentation fault 
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0] 

Abort trap: 6 

मैं दो समस्याओं (1) 1.9.3p125 के बजाय 1.9.3p327 और (2) GEM_HOME वातावरण चर इशारा का उपयोग कर किया था अब एक अस्तित्वहीन निर्देशिका के लिए। इसलिए मेरे लिए ठीक था:

~/myapp >rvm list 

rvm rubies 

=* ruby-1.9.3-p327 [ x86_64 ] 

# => - current 
# =* - current && default 
# * - default 

~/myapp >rvm install 1.9.3-p125 
**snip** 
~/myapp >rvm use 1.9.3-p125 
Using /Users/rogermarlow/.rvm/gems/ruby-1.9.3-p125 
Running /Users/rogermarlow/.rvm/hooks/after_use_maglev 
~/myapp >echo $GEM_HOME 
/Users/rogermarlow/.rvm/gems/ruby-1.9.3-p125 
~/myapp ># you should check that the directory in $GEM_HOME exists, I had [email protected] which had been removed at some point 
~/myapp >bundle install 
**snip** 

अब कोशिश है कि bundle exec जो विभाजन दोषयुक्त था ...

~/myapp >bundle exec rake -T 
rake about     # List versions of all Rails frameworks and the environment 
rake assets:clean   # Remove compiled assets 
rake assets:precompile  # Compile all the assets named in config.assets.precompile 
**snip** 
1

मैं नहीं जानता कि कैसे अपनी स्थिति, मैंने पहले रूबी 1.8.7 स्थापित करने के बारे में किया गया था एक पुरानी परियोजना का परीक्षण करने के लिए, फिर मैंने अपने वर्तमान रेल प्रोजेक्ट फ़ोल्डर में स्विच किया, जहां मेरे पास एक .rvmrc फ़ाइल है जो मेरे रत्न को [email protected] पर सेट कर रही है। मेरी रूबी और रेल संस्करण सही थे (1.9.3, 3.2.12), लेकिन स्पष्ट रूप से पोस्टग्रेस अभी भी 1.8.7 का उपयोग करने की कोशिश कर रहा था। और आपके द्वारा उल्लिखित एक ही त्रुटि है।

मेरे समाधान:

1/ cd out of the current folder project with the .rvmrc file 
2/ rvm use 1.9.3 --default 

तो मैं वापस मेरे वर्तमान रेल परियोजना के लिए आया था बंडल अद्यतन स्नातकोत्तर भाग गया, सिर्फ मामले में, मैं अगर है कि वास्तव में किसी भी प्रभाव नहीं पड़ा पता नहीं है, और देखा, तो सब कुछ काम करता है !

12

ऐसा लगता है कि जब आप मूल रूप से इसे स्थापित करते हैं तो रूबी 1.8.7 के खिलाफ संकलित आपके पीजी मणि की तरह लगता है। बस gem uninstall pg; gem install pg चलाना रूबी 1.9.3 के खिलाफ इसे पुन: संकलित करना चाहिए।

यदि आप पहले से नहीं हैं, तो मैं इस तरह की समस्या से बचने के लिए RVM का उपयोग करने की सलाह दूंगा।

+0

धन्यवाद @ डेवोगोन जो वास्तव में मददगार है। मैं थोड़ी देर बाद अटक गया जब मैं अपने ऐप को पोस्टग्रेज़ में माइग्रेट करता हूं। मैं यहाँ मिला सभी अन्य विकल्पों का प्रयास किया। मैंने अपना ऐप रूबी 2 से 1.9.3 (ऐप आरवीएम पर कॉन्फ़िगर किया गया) से ले जाया लेकिन फिर भी उसी अपवाद के माध्यम से 'रेल डीबी' कमांड चला गया। 'बंडल अपडेट' कमांड, या तो मदद नहीं करता था। इसलिए, जैसा कि आपने बताया है, मैं स्थापित पीजी पैकेज से छुटकारा पाता हूं और फिर इसे फिर से स्थापित करता हूं। बहुत बहुत धन्यवाद। –

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