सभी स्थापित रत्नों को निकालना और शुरू करना


92

मैंने हाल ही में रूबी और रूबी को रेल पर सीखना शुरू किया है, और शुरू होने वाली सामग्रियों की अधिकता देखी है। मुझे हाल ही में पता चला है कि मुझे ऐसी त्रुटियाँ हो रही हैं जहाँ रत्न स्थापित नहीं होंगे या उन्हें स्थापित नहीं किया जाएगा, लेकिन उनका उपयोग किसी कारण से नहीं किया जा सकता है, और मैंने फैसला किया है कि मैं एक बार फिर रूबी स्थापित होने पर सब कुछ हटा देना चाहता हूं और स्थापना के साथ शुरू करो। एक प्रशिक्षण वीडियो ने मुझे आरवीएम के साथ अपने अधिकांश रत्न स्थापित किए थे, इसलिए मुझे नहीं पता कि क्या कुछ बदलता है।

तो संक्षेप में मेरा सवाल यह है कि "मैं आरवीएम, रूबीज और सभी स्थापित रत्नों से कैसे छुटकारा पाऊं ताकि मैं रूबी के साथ शुरुआत कर सकूं?"

संपादित करें: मैं मैक ओएस 10.6 पर हूं


1
क्या आपने / ऑप्ट / रूबी में स्थापित किया था? Thats मैं क्या करता हूँ ताकि मैं माणिक उपवास को हटा सकूं।
वैकल्पिक

देखें stackoverflow.com/questions/15100496/… इस के लिए 1.9.3 के रूप में अच्छी तरह से काम करना चाहिए :)
नाथन लिलिएनथाल

अंत में आपके प्रश्न का शीर्षक और "लघु प्रश्न" सारांश दो अलग-अलग बातें हैं ...
20

जवाबों:


118

से RVM समर्थन साइट:

RVM सब कुछ ~ / .rvm में स्थापित करता है। अपने सिस्टम से RVM को हटाने के लिए 'rm -rf ~ / .rvm' चलाएं। आपके पास ~ / .rvmrc में एक अतिरिक्त कॉन्फिग फाइल हो सकती है और बेशक आपके bash / zsh स्टार्टअप फाइलों में RVM हुक।

तो, बस कमांड लाइन पर जाएं और टाइप करें rm -rf ~/.rvm

सभी स्थापित रत्न ~ / .rvm फ़ोल्डरों में हैं, इसलिए उपरोक्त करने से रत्न एक ही बार में स्थापित हो जाएंगे और माणिक स्थापित हो जाएंगे।

आपके द्वारा पूर्व-आरवीएम को डिफ़ॉल्ट रूबी इंस्टॉल के साथ जोड़ा गया है, इसे कमांड प्रॉम्प्ट पर टाइप करके हटाया जा सकता है:

for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done

1
मैं बस दौड़ा, लेकिन रत्न अभी भी स्थापित है। हालाँकि ऐसा लगता है कि यह इसे पुनः लोड करता है। यकीन नहीं अगर यह मैक XCode या क्या से चूक के साथ पुनः लोड ...
डेव लांग

रत्नों से छुटकारा पाने के लिए एक और पंक्ति जोड़ी गई जिसे आपने पूर्व-आरवीएम
माइकलहाइमल

1
मैं '-all -x -I' विकल्प को अनइंस्टॉल करते समय आपको (बायनेरी, संस्करण या निर्भरता के लिए) रोकने के लिए मणि अनइंस्टॉल में जोड़ दूंगा।
टाइमफिन

4
संदर्भ के लिए, पूर्ण कमांड है: x के लिए `मणि सूची में -कोई-संस्करण`; मणि $ x -a -x -I की स्थापना रद्द करें; किया
डैनियल रेहनेर १12

7
अधिक संदर्भ के लिए, एक और विकल्प:gem list --no-versions | xargs gem uninstall -aIx
trisweb

67
gem uninstall -aIx

बिना शीघ्रता के सभी रत्नों को खोल देता है।

विकल्प

-a, --[no-]all                   Uninstall all matching versions
-I, --[no-]ignore-dependencies   Ignore dependency requirements while
                                 uninstalling
-x, --[no-]executables           Uninstall applicable executables without
                                 confirmation

यह मुझे देता है:ERROR: While executing gem ... (Gem::InstallError) gist is not installed in GEM_HOME, try: gem uninstall -i /usr/share/rubygems-integration/all gist
user2023370

34

के लिए विंडोज और यूनिक्स कॉपी / कमांड प्रॉम्प्ट में पेस्ट ( रूबी 1.9.x )।

ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"

2
ERROR: While executing gem ... (Gem::CommandLineError) Please specify at least one gem name (e.g. gem build GEMNAME) -e:1: no .<digit> floating literal anymore; put 0 before dot bundle (0.0.1) ^ -e:1: syntax error, unexpected tINTEGER bundle (0.0.1) ^
isomorphismes

@isomorphismes सुनिश्चित नहीं हैं कि मैंने इसे ठीक किया है, लेकिन आप अभी कमांड का प्रयास कर सकते हैं।
हरिस क्राजिना

22

RVM का उपयोग करते हुए, आप बस टाइप कर सकते हैं ...

rvm gemset empty GEMSET

जहां GEMSET रत्न है जिसे आप खाली करना चाहते हैं। फिर...

बंडल स्थापित करें

yum install bundler और अंत में

bundle install

14

rvm implode( क्लि डॉक्स देखें ) काम करने लगता है - और यह भी बताता है कि बचे हुए को कहां देखना है


2
यह तकनीकी रूप से सबसे सही उत्तर है और वास्तव में इसके लिए डिज़ाइन किया गया था।
सशक्त

"फटना -, सभी माणिक प्रतिष्ठानों यह प्रबंधन करता है निकालता है सब कुछ ~ / .rvm में"
Nein

5
  1. यह मेरे लिए Ubuntu 16.04 पर काम करता है। मेरे लिए, जब मैं कमांड रेल चला रहा था, तो यह NameError की वजह से गलतियाँ निकाल रहा था। मैंने रेल के 3 संस्करण (4.2.0, 4.2.6, 5.0.0.1) स्थापित किए हैं। मैं कमांड रत्न अन-रे संस्करण संख्या का उपयोग करके अनावश्यक रत्न की स्थापना रद्द करने की कोशिश कर रहा था , लेकिन मैं नहीं कर पाऊंगा, लेकिन मुझे इस समस्या को हल करने का एक तरीका मिल गया है। सभी रत्नों की स्थापना रद्द करने के लिए, आपको बैश स्क्रिप्टिंग के साथ मणि सूची में सभी प्रविष्टियों के माध्यम से लूप करना होगा। यह विधि बहुत असुविधाजनक है। रूबीज 2.1.0 के लिए धन्यवाद, अब आप इसे एक कमांड के साथ कर सकते हैं।

    चरण 1

    सबसे पहले, कृपया सुनिश्चित करें कि आप अपने Rubygems को 2.1.0 या नए में अपग्रेड करें। इसके लिए इस कमांड को चलाएं (आप पुराने संस्करण पर काम कर रहे हैं। आप इस निर्देश का उपयोग करके अपने रत्न संस्करण की जांच कर सकते हैं उनमें से किसी एक को मणि -v या मणि --version )

    मणि अद्यतन - प्रणाली

    मणि - फैलाव

    चरण 2

    इस कमांड को आप टर्मिनल में रन करें

    मणि की स्थापना -

    चरण 3

    मणि बंडल स्थापित करें (यह आवश्यक नहीं है कि मैं सिर्फ सावधानियों के लिए सोचता हूं) मणि स्थापित बंडल

    चरण - 4
    अपने सिस्टम पर रेल स्थापित करें इस कमांड रत्नspecific version you want to install का उपयोग करें रेल स्थापित करें -v आप आधिकारिक साइट पर रेल संस्करण की जांच कर सकते हैं सभी संस्करण उदाहरण: - मैंने रेल 4.2.6 संस्करण स्थापित किया है, आप आवश्यकता के अनुसार इंस्टॉल करें। मणि स्थापित रेल -v 4.2.6

    चरण - ५

    अंत में मूल कमांड रेल का उपयोग करके स्थापित रेल फ्रेमवर्क अनुप्रयोग के संस्करण की जांच करें -v । यह रेल ढांचे के वर्तमान संस्करण की प्रतिध्वनि करेगा। का आनंद लें :)

    संदर्भ

http://ruby-journal.com/how-to-uninstall-all-ruby-gems/ http://guides.rubyonrails.org/v4.1/getting_started.html


2

चरण 1:

मैंने पहले कहा कि एक त्रुटि में चल रहा है:

आपके पास / usr / बिन निर्देशिका के लिए लेखन अनुमति नहीं है

अनुमति प्राप्त करने के लिए, मैं एक मूल उपयोगकर्ता बन गया (यह मेरी वर्तमान समझ से परे कारणों के लिए खतरनाक है) :

sudo -s

श्रेय

चरण 2:

फिर, मैंने कहा कि एक त्रुटि में चल रहा है:

[मणि] की स्थापना रद्द नहीं की जा सकती क्योंकि यह एक डिफ़ॉल्ट मणि है

इसने मुझे सब कुछ अनइंस्टॉल करने की अनुमति दी:

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done

श्रेय

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.