2011-05-23 9 views
13

मुझे रेक मणि संस्करण 0.9 को हटाने में कुछ परेशानी हो रही है। मैं gem uninstall rake चलाने में कामयाब रहा और मुझे विश्वास था कि इसे हटा दिया गया है। हालांकि, मणि सूची में वापस जाने से यह अभी भी दिखाया गया है कि यह अभी भी मौजूद है।रेक को हटाने में समस्या 0.9

gem env चल रहा है:

GEM PATHS: 
    /home/sean/.rvm/gems/ruby-1.9.2-p180 
    /home/sean/.rvm/gems/[email protected] 

मैं @global निर्देशिका में चला गया और मैन्युअल रूप से वहाँ इसे नष्ट कर दिया है, फिर भी अभी भी इसे कहीं बनी हुई है। जब मैं gem list चलाता हूं तो मैं इसे देख सकता हूं। 0.9 रेक मणि मेरे रेल 3.0.7 एप्लिकेशन के लिए समस्याएं पैदा कर रहा है।

मैं gem list -d rake भाग गया:

rake (0.9.0, 0.8.7) 

Installed at 
(0.9.0): /home/sean/.rvm/gems/[email protected] 
(0.8.7): /home/sean/.rvm/gems/ruby-1.9.2-p180 

मैं के लिए [email protected]

+0

क्या आप अपने ऐप में आरवीएम रत्न का उपयोग कर रहे हैं? –

+0

मुझे लगता है कि एक ऐसी फाइल है जिसमें इंस्टॉल किए गए रत्नों की सूची शामिल है, और यह सही ढंग से साफ़ नहीं हो पाती है। एक 'grep -ci रेक | करने का प्रयास करें grep -v: 0 $ 'और उन संदर्भों वाली फाइलों को देखें। एक सिर्फ एक सूची है। सूची से 'रेक' निकालें और आपको अच्छा होना चाहिए। मुझे जांचने के लिए फ़ाइल याद नहीं है - यह कई सप्ताह हो गया है, लेकिन मुझे इसे कई मशीनों पर करना पड़ा। –

उत्तर

0

आप 'मणि सफाई' स्क्रिप्ट का उपयोग कर की कोशिश की जवाहरात निर्देशिका में कुछ भी नहीं दिख रहा है?

+0

मैंने 'मणि क्लीनअप' की कोशिश की और यह अभी भी 'मणि सूची' में दिखाई देता है। लेकिन मैं इसे मणि पथ निर्देशिका में नहीं देखता हूं। – sean

+0

रूबी का केवल एक संस्करण स्थापित है? –

+0

हाँ केवल एक, 1.9.2। अगर परिभाषित शामिल हैं, :: रैक :: डीएसएल (:: रैक :: डीएसएल) तो यह रेल ऐप के कार्य की तरह दिखता है: जो भी :: Application.send: – sean

3

टर्मिनल प्रकार में: gem uninstall rake, फिर संकेत दिए जाने पर संस्करण 0.9.0 का चयन करें।

फिर अपने रेल आवेदन के भीतर अपने Gemfile संशोधित:

gem 'rake', '0.8.7' 

फिर टर्मिनल समय में:

bundle install 

ये कदम समस्याओं को आप कर रहे हैं ठीक करना चाहिए। जब आप रेल 3.1 में अपग्रेड करते हैं तो फिर से रेक पर अपग्रेड करें।

2

यदि आप आरवीएम का उपयोग कर रहे हैं तो आपको वैश्विक रत्न में रेक "0.9" मुफ्त में स्थापित किया गया है जो इसे ठीक से अनइंस्टॉल करने के लिए कठिन (असंभव?) बनाता है। gem uninstall rake सफल है लेकिन वास्तव में रेक 0.9 को हटा नहीं देता है। मुझे इसे आरईई और 1.9.2 दोनों के लिए मैन्युअल रूप से करना पड़ा।

मैं रेक निष्पादन स्क्रिप्ट संपादित (which rake साथ लगता है) और एक कहा:

puts "Gem.bin_path: #{Gem.bin_path('rake', 'rake', version)} 

... अंतिम पंक्ति से पहले। यह प्रिंट (मेरे सिस्टम पर): Gem.bin_path: ~/.rvm/gems/[email protected]/gems/rake-0.9.0/bin/rake

0.9 सीडी को हटाने के लिए ~/.rvm/रत्न/री-1.8.7-2011.03 और सभी रेक-0.9 फ़ाइलों को मैन्युअल रूप से हटाएं (रत्न, विनिर्देश वे हैं जो मुझे विश्वास करते हैं)।

2

मैं इसी समस्या में भाग गया (आवश्यक रेक 0.8.7 लेकिन आरवीएम के साथ 0.9.0 "मुफ्त में मिला)। प्रारंभ में gem list -d rake निम्नलिखित उत्पादन दिया:

 
rake (0.9.0) 
    Installed at: ~/.rvm/gems/[email protected] 

तो मैं सिर्फ gem uninstall rake किया:

 
rake (0.9.0, 0.8.7) 
    Installed at (0.9.0): ~/.rvm/gems/[email protected] 
       (0.8.7): ~/.rvm/gems/[email protected]_gemset 

rvm use @global के साथ वैश्विक gemset पर स्विच किया मुझे इस उत्पादन दे दी है। अब, rvm use @my_gemset के साथ मेरे रत्न में वापस स्विच करना रेक (0.8.7) का सही संस्करण उपयोग किया जा रहा है।

47

आप

rvm use @global && gem uninstall rake -v 0.9.0 
rvm use @ && gem uninstall rake -v 0.9.0 

चलाने सही ढंग से rvm

+1

'आरवीएम उपयोग @global && gem uninstall rake -v 0.9.0' मेरे लिए एक आकर्षण की तरह काम किया। धन्यवाद! –

+0

मेरे लिए भी पूरी तरह से काम किया! बहुत बहुत धन्यवाद – user5243421

+0

'आरवीएम उपयोग @ && मणि अनइंस्टॉल रेक-वी 0.9.2' मेरे लिए एक था ... लेकिन यह चाल थी! धन्यवाद! – brandonjp

2

से रेक 0.9.0 दूर करने के लिए आप बंडलर उपयोग कर रहे हैं, तो आप इस excellent article by Yehuda Katz पढ़ना चाहिए चाहिए। उनके निर्देशों के बाद आपको रेक 0.9.0 को अनइंस्टॉल करने की आवश्यकता नहीं है। दूसरों द्वारा स्थापित किए गए की परवाह किए बिना

bundle exec rake --version 

prepending bundle exec सुनिश्चित करें कि केवल रेक का सही संस्करण भरी हुई है कर देगा,: आदेश का पालन करें।

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