Alle installierten Edelsteine ​​entfernen und von vorne beginnen


90

Ich habe vor kurzem angefangen, Ruby und Ruby on Rails zu lernen, und habe eine Vielzahl von Einstiegsmaterialien gesehen. Ich habe in letzter Zeit festgestellt, dass ich immer wieder Fehler bekomme, bei denen Edelsteine ​​nicht installiert werden oder installiert werden, aber aus irgendeinem Grund nicht verwendet werden können, und ich habe beschlossen, dass ich alles entfernen möchte, um Ruby erneut zu installieren und beginnen Sie von vorne mit der Installation. In einem Schulungsvideo habe ich die meisten meiner Edelsteine ​​mit RVM installiert, sodass ich nicht weiß, ob sich dadurch etwas ändert.

Kurz gesagt lautet meine Frage: "Wie entferne ich RVM, Rubygems und alle installierten Gems, damit ich nur mit Ruby von vorne anfangen kann?"

Bearbeiten: Ich bin unter Mac OS 10.6


1
Haben Sie in / opt / ruby ​​installiert? Das ist was ich tue, damit ich Rubin schnell entfernen kann.
Alternative

Siehe stackoverflow.com/questions/15100496/… Dies sollte auch für 1.9.3 funktionieren :)
Nathan Lilienthal

Der Titel Ihrer Frage und die Zusammenfassung der "kurzen Frage" am Ende sind zwei verschiedene Dinge ...
mpowered

Antworten:


115

Von der RVM- Support-Website:

RVM installiert alles in ~ / .rvm. Um RVM von Ihrem System zu entfernen, führen Sie 'rm -rf ~ / .rvm' aus. Möglicherweise haben Sie eine zusätzliche Konfigurationsdatei in ~ / .rvmrc und natürlich den RVM-Hook in Ihren bash / zsh-Startdateien.

Gehen Sie einfach zur Befehlszeile und geben Sie ein rm -rf ~/.rvm

Alle installierten Edelsteine ​​befinden sich in den Ordnern ~ / .rvm. Wenn Sie also die oben genannten Schritte ausführen, werden die Edelsteine ​​und installierten Rubine auf einmal entfernt.

Edelsteine, die Sie vor RVM mit der Standard-Ruby-Installation hinzugefügt haben, können entfernt werden, indem Sie dies an der Eingabeaufforderung eingeben:

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

1
Ich habe das gerade ausgeführt, aber Edelsteine ​​sind immer noch installiert. Es sieht jedoch so aus, als hätte es es neu geladen. Nicht sicher, ob es mit Standardeinstellungen von Mac XCode neu geladen wurde oder was ...
Dave Long

fügte eine weitere Zeile hinzu, um die Edelsteine ​​loszuwerden, die Sie vor RVM hinzugefügt haben
michaelmichael

1
Ich würde die Optionen '-all -x -I' zur Gem-Deinstallation hinzufügen, um zu verhindern, dass Sie während der Deinstallation dazu aufgefordert werden (für Binärdateien, Versionen oder Abhängigkeiten).
Timmfin

4
Als Referenz lautet der vollständige Befehl: für x in `gem list --no-version`; deinstalliere gem $ x -a -x -I; fertig
Daniel Rehner

7
Für weitere gem list --no-versions | xargs gem uninstall -aIx
Informationen eine

62
gem uninstall -aIx

Deinstalliert alle Edelsteine ​​ohne Aufforderung.

Optionen

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

34

Für Windows und Unix Kopieren / Einfügen in Eingabeaufforderung ( Ruby 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) ^
Isomorphismen

@isomorphismes nicht sicher, ob ich es behoben habe, aber Sie können jetzt Befehl versuchen.
Haris Krajina

22

Mit RVM können Sie einfach ...

rvm gemset empty GEMSET

Dabei ist GEMSET das Gemset, das Sie leeren möchten. dann...

Bundle installieren

yum install bundler und schlussendlich

bundle install

14

rvm implode(siehe cli docs ) scheint zu funktionieren - und es sagt Ihnen sogar, wo Sie nach Resten suchen müssen


2
Dies ist technisch die richtigste Antwort und genau das, wofür sie entwickelt wurde.
mpowered

"implodieren - entfernt alle von ihm verwalteten Ruby-Installationen, alles in ~ / .rvm"
Nein,

5
  1. Dies ist Arbeit für mich unter Ubuntu 16.04. Wenn ich Befehlsschienen -v ausführte, gab es aufgrund von NameError Fehler. Ich habe 3 Versionen von Schienen installiert (4.2.0, 4.2.6, 5.0.0.1). Ich habe versucht, unnötigen Edelstein mit dem Befehl gem deinstallieren. Rails -v Versionsnummer deinstallieren, aber ich kann nicht, aber ich finde einen Weg, um dieses Problem zu lösen. Um alle Edelsteine ​​zu deinstallieren, müssen Sie alle Einträge in der Edelsteinliste mit Bash-Skripten durchlaufen. Diese Methode ist sehr unpraktisch. Dank Rubygems 2.1.0 können Sie dies jetzt mit einem Befehl tun.

    SCHRITT 1

    Stellen Sie zunächst sicher, dass Sie Ihre Rubygems auf 2.1.0 oder neuer aktualisieren. Führen Sie dazu diesen Befehl aus (falls Sie an einer älteren Version arbeiten. Sie können Ihre Edelsteinversion mit diesem Befehl überprüfen, indem Sie einen der Edelsteine ​​-v oder gem --version verwenden ).

    gem update --system

    Edelsteinversion

    SCHRITT 2

    Führen Sie diesen Befehl in Ihrem Terminal aus

    gem deinstallieren --all

    Schritt 3

    Installieren Sie das Gem-Bundle (ich denke, es ist nicht nur aus Vorsichtsgründen erforderlich) das Gem-Install-Bundle

    Schritt - 4
    Installieren Sie die Schienen auf Ihrem System mit diesem Befehl gem install Rails -vspecific version you want to install Sie können die Rails-Version auf der offiziellen Website überprüfen. Rails alle Versionen Beispiel: - Ich habe die Rails 4.2.6-Version installiert, die Sie gemäß den Anforderungen installieren. Edelsteinschienen installieren -v 4.2.6

    Schritt - 5

    Überprüfen Sie abschließend die Version der installierten Rails-Framework-Anwendung mit dem Basisbefehl Rails -v . Es wird die aktuelle Version von Rails Frameworks wiedergegeben. Genießen :)

    Verweise

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


2

Schritt 1:

Ich bin immer wieder auf einen Fehler gestoßen, der besagte:

Sie haben keine Schreibberechtigungen für das Verzeichnis / usr / bin

Um die Erlaubnis zu erhalten, wurde ich Root-Benutzer mit (dies ist möglicherweise aus Gründen gefährlich, die über mein derzeitiges Verständnis hinausgehen) :

sudo -s

Anerkennung

Schritt 2:

Dann stieß ich immer wieder auf einen Fehler, der besagte:

[gem] kann nicht deinstalliert werden, da es sich um ein Standard-Gem handelt

Dadurch konnte ich alles deinstallieren:

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

Anerkennung

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.