2011-03-09 6 views
22

इतिहास:कैपिस्ट्रानो के माध्यम से रेल ऐप को तैनात करने के साथ आरवीएम त्रुटि

  • एक Mediatemple DV सर्वर पर Rails3 ऐप को तैनात करने में पढ़ें।
  • सर्वर, रूबी, और आवश्यक रत्नों पर स्थापित आरवीएम।
  • साइट ठीक काम करता है अगर मैं इसे एफ़टीपी करता हूं।
  • सभी अच्छे।

मैंने फिर "रेल के साथ Agile वेब विकास" के अनुसार जीआईटी/टोपी तैनाती के लिए एक उचित तैनाती और सेटअप करने का फैसला किया।

  • टोपी के साथ तैनाती का प्रयास किया, लेकिन उत्पादन साइट पर उपलब्ध रत्नों के साथ त्रुटियां थीं।
  • चारों ओर पढ़ें और महसूस किया कि मुझे शायद एक सिस्टम व्यापक आरवीएम इंस्टॉल के लिए जाना चाहिए।
  • सभी रत्न और आरवीएम हटा दिया गया।
  • स्थापित आरवीएम सिस्टम चौड़ा।
  • कैप परिनियोजन पर त्रुटि "bash: /home/foo/.rvm/bin/rvm-shell: ऐसी कोई फ़ाइल या निर्देशिका नहीं", जो समझ में आता है - होम निर्देशिका में कोई .rvm/नहीं है।
  • किसी उपयोगकर्ता के रूप में उपयोग करने के लिए प्रारंभ में आरवीएम स्थापित करने से कुछ लटक रहा था, मैंने उपयोगकर्ता को हटा दिया, घर निर्देशिका को हटा दिया, और उपयोगकर्ता को अनुमतियों के साथ फिर से बनाया।
  • टोपी तैनाती पर समान त्रुटि "bash: /home/foo/.rvm/bin/rvm-shell: ऐसी कोई फ़ाइल या निर्देशिका नहीं"

स्थिति अब है:

foo के लिए। bashrc में अंतिम पंक्ति है:

[[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm' 

जब मैं जारी करता हूं:

type rvm | head -1 

प्रतिक्रिया "आरवीएम एक कार्य है"।

/etc/rvmrc में

if [[ ! -s "$HOME/.rvm/scripts/rvm" ]]; then 
    umask g+w 
    export rvm_selfcontained=0 
    export rvm_prefix="/usr/local/" 
fi 

यहां विचारों से बाहर चल रहा है, और कुछ सुझावों की उम्मीद है।

+3

हल हुआ। आरवीएम अगर मैं अभी छुटकारा पा लिया। अब महान काम करता है। मैं अपनी विकास मशीन के लिए आरवीएम बचाऊंगा ... –

उत्तर

73

अगली बार कोशिश अपने Capistrano में जोड़ने के लिए:

set :rvm_type, :system 
+12

बहुत उपयोगी। वैकल्पिक रूप से आप सेट कर सकते हैं: rvm_type: उपयोगकर्ता यदि आप एकल-उपयोगकर्ता आरवीएम इंस्टॉल के साथ किसी सर्वर पर तैनाती कर रहे हैं। –

+0

@mpapis आप कैसे जानते हैं कि आपके पास एक एकल उपयोगकर्ता आरवीएम इंस्टॉल या सिस्टम इंस्टॉल है? मुझे याद नहीं है कि मैंने कौन सी किया। – JohnMerlino

+0

आप सर्वर पर लॉग इन करने और 'echo $ rvm_path' – mpapis

5

यह rvm-खोल की तरह लगता है अपने rvm में निर्देशिका स्थापित नहीं है। इस आदेश को चलाएं

rvm get head 

फिर आप इसे अपने आरवीएम बिन निर्देशिका में प्राप्त करेंगे।

0

मैं बस @ imonyse की टिप्पणी में जोड़ना चाहता था।

आरवीएम की मुख्य शाखा कुछ तैनाती के लिए बहुत अस्थिर हो सकती है। मुझे पता है कि हमारे बहिष्कृत एसएलएस बक्से पर चोक करने की प्रवृत्ति है। सबसे हालिया स्थिर संस्करण प्राप्त करने के लिए सलाह दी जा सकती है।

rvm get stable 

यह भी पुराने कोड पर चलने वाले पुराने सर्वर पर ऐसा न करें क्योंकि यह अवांछित परिणाम हो सकता है।

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