2010-04-07 8 views
16

सबकुछ ठीक काम कर रहा था, जब तक हमने रूबी को 1.8.7 से 1.8.7 तक अपग्रेड करने का निर्णय नहीं लिया, और जब सभी नरक टूट गए। जब हमने स्रोत से रूबी 1.8.7 संकलित किया, तो इसे/usr/local/bin और ruby ​​1.8.6 में स्थापित किया गया/usr/bin में रहा। वर्तमान में, हमने रूबी 1.8.6 को अनइंस्टॉल कर दिया है और कुछ स्ट्रोक द्वारा हमने/usr/local से रूबी 1.8.7 फ़ाइलों को हटा दिया है।रूबी को/usr/local से अनइंस्टॉल कैसे करें?

जब हम "कौन रूबी" को इंगित करते हैं तो यह/usr/local को इंगित करता है। यदि कोई हमारी मदद कर सकता है कि हमें ट्रैक पर वापस आने की क्या ज़रूरत है, तो हम बहुत आभारी होंगे। और यह भी कोई विचार है कि हम कैसे/usr/local से रूबी को अनइंस्टॉल कर सकते हैं। हमने यम को रूबी को हटाने की कोशिश की, जिसने रूबी को /usr/bin से हटा दिया। धन्यवाद और चीयर्स!

उत्तर

9

यदि यह /usr/bin में है तो इसे 1.8.6 अनइंस्टॉल करना अच्छा नहीं है। यह ओएस के स्वामित्व में है और वहां होने की उम्मीद है।

इससे पहले कि आप /usr/bin तो चीजें आप /usr/local/bin में स्थापित किया है अपने पथ में /usr/local/bin डाल दिया /usr/bin में एक ही नाम के साथ किसी भी पहले मिल जाएगा, प्रभावी रूप से अधिलेखित करने या उन्हें अद्यतन करने, वास्तव में ऐसा कर के बिना। आप अभी भी अपने # में /usr/bin का उपयोग करके उन तक पहुंच सकते हैं! आपके कोड के शीर्ष पर दुभाषिया आमंत्रण लाइन।

@Anurag RVM का उपयोग करने की अनुशंसा की गई, जो मैं दूसरा करूंगा। मैं ओएस के 1.8.6 के अलावा 1.8.7 और 1.9.1 को प्रबंधित करने के लिए इसका उपयोग करता हूं।

2

symlink पर 'रूबी' नामक/usr/bin पर बनाएं और इसे नवीनतम स्थापित रूबी पर इंगित करें।

आप की तरह ln -s /usr/bin/ruby /to/the/installed/ruby/binary

आशा इस मदद करता है कुछ का उपयोग कर सकते हैं।

+0

क्या आपका मतलब/etc/bin/ruby ​​या/usr/bin/ruby ​​था? इसके अलावा, अतिरिक्त रूबी-संबंधित नाम हैं जिन्हें इरब, rdoc, आदि जैसे लिंक करने की आवश्यकता है –

+0

ग्रेग, मेरा बुरा ... आपने इसे सही ढंग से इंगित किया है, यह पहली पंक्ति की तरह/usr/bin/ruby ​​है। मैं इसे सही कर दूंगा। धन्यवाद :-) – intellidiot

+0

मैं रूबी के अन्य संस्करणों में '/ usr/bin' में कोई भी लिंक नहीं करने का सुझाव देने जा रहा हूं यदि ओएस ने डिफ़ॉल्ट रूप से रूबी को'/usr/bin' में स्थापित किया है। ऐप्पल के हिम तेंदुए पर, ऐप्पल अब कोड स्थापित कर रहा है जो रुबी 1.8.7 का उपयोग करता है जो '/ usr/bin' में पूर्वस्थापित है। इसके साथ मेसिंग उस ऐप में सड़क के नीचे सूक्ष्म बग/विफलताओं का कारण बन सकती है या जो बाद में आती है। अब और भी मुझे लगता है कि सैंडबॉक्स वाले रूबी का प्रबंधन करने के लिए आरवीएम का उपयोग करना बेहतर है या '/ usr/local/bin' में स्थापित हो सकता है या शायद कहीं'/opt/'के तहत स्थापित हो और अपना रास्ता समायोजित करें; इसे कहीं भी रखें सिस्टम को देखने के लिए नहीं लगता है। –

20

संपादित करें: टिप्पणियों में सुझाए गए अनुसार। यह समाधान लिनक्स ओएस के लिए है। वह भी अगर आपने पैकेज प्रबंधक से मैन्युअल रूप से रूबी स्थापित की है।

यदि आप एकाधिक रूबी संस्करण चाहते हैं, तो बेहतर RVM होना चाहिए। उस स्थिति में आपको रूबी पुराने संस्करण को हटाने की आवश्यकता नहीं है।

फिर भी अगर तो दूर करने के लिए नीचे दिए गए चरणों का पालन करें: आप खोजना चाहिए

पहले जहां रूबी है:

whereis ruby 

सभी स्थानों पर जहां यह आपके सिस्टम पर मौजूद है सूची जाएगा, तो आप निकाल सकते हैं वे सब स्पष्ट रूप से। या आप कुछ इस तरह का उपयोग कर सकते हैं:

rm -rf /usr/local/lib/ruby 
rm -rf /usr/lib/ruby 
rm -f /usr/local/bin/ruby 
rm -f /usr/bin/ruby 
rm -f /usr/local/bin/irb 
rm -f /usr/bin/irb 
rm -f /usr/local/bin/gem 
rm -f /usr/bin/gem 
+22

यह * वास्तव में * यह जानने के लिए महत्वपूर्ण है कि ओएस और संस्करण किस पर चल रहा है, किसी को रूबी को '/ usr' से निकालने का सुझाव देने से पहले। ऐप्पल में हिम तेंदुए में रूबी शामिल है और कोड को इसे ऐप्स से कॉल कर रहा है। उनको हटाने से ऐप्स चुपचाप टूट जाएंगे। यदि यह एक लिनक्स सिस्टम है, और रूबी को पैकेज-मैनेजर के माध्यम से स्थापित किया गया था, तो इसका उपयोग फ़ाइलों को हटाने के लिए किया जाना चाहिए। और, किसी भी मामले में, आरवीएम जैसे कुछ का उपयोग पूर्व-स्थापित रूबी को हटाने की आवश्यकता को अस्वीकार कर सकता है। –

+1

हाय टिन, धन्यवाद मैं अगली बार ध्यान रखूंगा। –

+5

उदासीनता आती है अगर कोई आरएम कमांड के उस हिस्से को कॉपी/पेस्ट करता है। बच्चों को पढ़ने के बिना कॉपी/पेस्ट न करें। – sclarson

0

इस तरह से कार्य करें:

sudo apt purge ruby 
1

माणिक निम्नलिखित तरीके से स्थापित किया गया था:

./configure --prefix=/usr/local 
make 
sudo make install 

आप निम्नलिखित तरीके से यह स्थापना रद्द कर सकते :

स्थापित रूबी संस्करण की जांच करें; मान 2.1.2

wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2 
bunzip ... 
tar xfv ... 
cd ruby-2.1.2 
./configure --prefix=/usr/local 
make 
sudo checkinstall 
    # will build deb or rpm package and try to install it 

स्थापना के बाद, अब पैकेज को निकाल सकते हैं और यह आदि निर्देशिका/फ़ाइलें निकाल देंगे/सुविधा देता है।

कुछ कलाकृतियों
sudo rpm -e ruby # or dpkg -P ruby (for Debian-like systems) 

हो सकती छोड़ दिया:

Removing ruby ... 
    warning: while removing ruby, directory '/usr/local/lib/ruby/gems/2.1.0/gems' not empty so not removed. 
    ... 

उन्हें मैन्युअल रूप से निकालें।

0

sudo make uninstall आधिकारिक डाउनलोड पेज से रूबी 2.4 टैर का उपयोग करके मेरे लिए चाल है।