2010-10-23 15 views
8

मुझे रूबी संस्करण प्रबंधक आरवीएम को मेरे उबंटू 10.04 .profile से स्रोत में परेशानी हो रही है। कोड:मेरे उबंटू से प्रोसेसिंग आरवीएम। प्रोफाइल केवल मैन्युअल रूप से काम करता है, लॉगिन पर नहीं

[[ -s "$HOME/.rvm/scripts/rvm" ] && . "$HOME/.rvm/scripts/rvm" 

... कभी नहीं करता है क्या मैं इसे करने की उम्मीद है (अर्थात मुझे rvm कार्यक्रम देना जब मैं एक नया खोल खोलने के लिए या एक नया सत्र शुरू); लेकिन अगर मैं

source .profile 

लॉग इन करने के बाद एक नए खोल में निष्पादित करता है, तो यह काम करता है! मैन्युअल रूप से इसे स्रोत करते समय यह क्यों काम करेगा, लेकिन स्वचालित रूप से लॉगिन पर नहीं?

+0

कौन सा खोल प्रयोग कर रहे हैं:

यहाँ मेरी .profile से पूरा कोड है कि RVM लोड करता है? क्या आपके पास एक .bash_profile भी है? – SimonJ

+0

संभावित डुप्लिकेट (या कम से कम समान) प्रश्न: http://stackoverflow.com/questions/3982244/postinstall-rvmruby-version-manager-without-root-access – joschi

+0

आप कैसे लॉग इन करते हैं? मैं gdm3 का उपयोग कर रहा हूं और ~/.xprofile से स्रोत आरवीएम करने की कोशिश की, लेकिन ~ /।xprofile/bin/sh द्वारा चलाया जाता है और इसका समर्थन नहीं करता है; मेरे मामले में (हैक) मैंने संशोधित/etc/gdm3/Xsession '#!/bin/bash' का उपयोग करने के लिए संशोधित किया है। जिस तरह से आप लॉग इन कर रहे हैं, इस पर निर्भर करता है कि क्या प्रोफाइल वास्तव में उपयोग किया जाता है (उदा। 'PROFILE_USED = 1; निर्यात PROFILE_USED')। यदि ऐसा है, तो यह गलत खोल द्वारा चलाया जा सकता है (यह केवल वास्तव में/bin/sh "या बेहतर" द्वारा चलाया जाना है); यदि यह नहीं है, तो .xprofile का प्रयास करें। आप भी एक गायब हैं], लेकिन शायद यह एक टाइपो है। –

उत्तर

0

आरवीएम स्थापना पृष्ठ में आरवीएम के प्रारंभिक परीक्षण की जांच करने के लिए कई चीजें हैं। RVM installation page के अंत में "अपना इंस्टॉल समस्या निवारण" अनुभाग पढ़ें।

इसके अलावा, यहां how Bash reads its startup files का विवरण दिया गया है जो इस प्रकार की समस्या से मदद कर सकता है।

6

ऐसा लगता है उबंटू संभालती है कि यह लॉगऑन स्क्रिप्ट अधिकांश अन्य Linux distros

http://ubuntuforums.org/showpost.php?p=9127226&postcount=6

ऊपर पोस्ट संकेत है कि उबंटू में GDM लॉगिन .bash_profile या जिस तरह से सबसे .profile की प्रक्रिया नहीं है की तुलना में अलग है अन्य लिनक्स distros करते हैं। मुझे लाइन लोडिंग आरवीएम को ~/.bashrc में रखना पड़ा है और इससे अभी तक कोई समस्या नहीं हुई है।

3

$ HOME/.rvm सोर्सिंग मानते हैं कि आपने एक ही उपयोगकर्ता को आरवीएम स्थापित किया है, विशेष रूप से, जिस उपयोगकर्ता की होम निर्देशिका $ HOME है। इसी तरह, अपने Ubuntu पर, RVM प्रणाली विस्तृत स्थापित किया गया है, और इस तरह आप स्रोत चाहिए जैसे RVM स्क्रिप्ट:

अपने .bashrc फाइल जोड़ने में:

\# Set rvm path 

[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm" 
इस लाइन से पहले

; यह लाइन बाहर निकल जाएगी और इसके पीछे कुछ भी निष्पादित नहीं करेगा, जो इंटरैक्टिव लॉग इन के लिए ठीक है, बिट एक समस्या होगी, आप स्वचालन उद्देश्यों के लिए गैर-इंटरैक्टिव एसएसएच लॉग इन का उपयोग कर रहे हैं।

\# If not running interactively, don't do anything 

[ -z "$PS1" ] && return 
+0

धन्यवाद इससे मदद मिली! – 1337holiday

0

मैं एटम संपादक RVM पर्यावरण उठा और इस प्रकार उबंटू 16.04 पर rubocop आदेश नहीं मिल नहीं के साथ एक समस्या थी। लेकिन जब मैं gnome टर्मिनल से एटम शुरू किया तो समस्या नहीं थी।

if 
    builtin test -n "${BASH_VERSION:-}" -o -n "${ZSH_VERSION:-}" -o -n "${KSH_VERSION:-}" 
then 
    ... 
else 
    return 0 
fi 

अजीब है, जब लॉग इन पर मार डाला, मैं $BASH_VERSION पाया है रिक्त: क्या मैंने पाया था कि RVM स्क्रिप्ट ~/.rvm/scripts/rvm है कि आप चाहिए रहे हैं अपने .profile में लोड हो रहा है होने के लिए शुरुआत में इन पंक्तियों है (जबकि gnome टर्मिनल में यह 4.3.46(1)-release की तरह sth है), इसलिए स्क्रिप्ट प्रारंभिक वापसी करेगा आरएमवी ठीक से लोड नहीं किया जा रहा है। मैंने BASH_VERSION को जो कुछ भी किया और ठीक काम किया, सेट करने का प्रयास किया।

local rvm_home="${HOME}/.rvm" 
export PATH="$PATH:${rvm_home}/bin" 
if [ -z "$BASH_VERSION" ]; then 
    export BASH_VERSION=4 
fi 
source "${rvm_home}/scripts/rvm" 
संबंधित मुद्दे