Rubin-Edelsteine loswerden, die nicht sterben
-
05-07-2019 - |
Frage
Ich habe ein paar Rubin-Edelsteine, die nicht verschwinden wollen.
Ich denke, es hat damit zu tun, wann ich sie installiert habe.Gelegentlich habe ich vergessen, „sudo“ zu verwenden, bevor ich eine Gem-Installation durchführe, was zu einem Schreibfehler führt und soweit ich weiß, wird eine Kopie des Gems in meinem Benutzerverzeichnis abgelegt, anstatt irgendwo, wo es ausgeführt werden kann.Aber die Gem-Deinstallation funktioniert nicht.Es wird ständig in der „Gem-Liste“ angezeigt, kann aber weder über die Gem-Deinstallation noch über die Sudo-Gem-Deinstallation deinstalliert werden.Ich habe versucht, einen Edelstein direkt zu löschen, nachdem ich den Pfad in meiner „Gem-Umgebung“ gefunden hatte, aber dadurch blieb der Edelstein immer noch auf der Liste.
Ist es auch möglich, einfach alle Edelsteine zu entfernen und von vorne zu beginnen?Das macht mich wahnsinnig.
Ich verwende OS X.
Lösung
Vorausgesetzt, dass gem clean
(oder sudo gem clean
) nicht funktioniert, würde ich Folgendes versuchen, um alle Edelsteine vollständig von Ihrem System zu entfernen:
Sie können sehen, wo Gems installiert wurden, indem Sie den folgenden Befehl ausführen:
gem env paths
Um alle Gems auf Ihrem System zu entfernen, entfernen Sie einfach die von diesem Befehl zurückgegebenen Ordner.
Darüber hinaus werden unter OSX Leopard Standard-Gems in diesem Ordner installiert:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
Wenn dieser Ordner auf Ihrem System vorhanden ist, können Sie ihn wie zuvor entfernen, um sicherzustellen, dass alle Edelsteine gelöscht werden.
Andere Tipps
Sie können auch Folgendes tun, um installierte Gems zu entfernen.
gem list -d [gem name]
gem uninstall --install-dir [install directory] [gem name]
Wenn die oben genannten Dinge nicht funktionieren, musste ich es heute selbst tun.
Ich hatte ein ähnliches Problem, aber das Grundproblem waren Gemspecs, die aus einem unbekannten Grund bestehen blieben.
Nachdem ich dachte, ich hätte alle Gems deinstalliert:
matt$ gem1.9 list
*** LOCAL GEMS ***
minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)
Keine Edelsteine hier:
matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/gems/
total 0
drwxr-xr-x 2 root admin 68 Jul 23 14:54 .
drwxr-xr-x 8 root admin 272 Mar 3 14:56 ..
Da sind sie!
matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/specifications/
total 24
drwxr-xr-x 5 root admin 170 Jul 23 14:54 .
drwxr-xr-x 8 root admin 272 Mar 3 14:56 ..
-rw-r--r-- 2 root admin 129 Nov 1 2010 minitest.gemspec
-rw-r--r-- 2 root admin 121 Nov 1 2010 rake.gemspec
-rw-r--r-- 2 root admin 121 Nov 1 2010 rdoc.gemspec
Entfernen Sie die Gemspecs:
matt$ sudo rm /opt/local/lib/ruby1.9/gems/1.9.1/specifications/*
Und jetzt sind die Edelsteine weg:
matt$ gem1.9 list
*** LOCAL GEMS ***
Wenn Sie über mehrere Versionen eines Gems verfügen, müssen Sie zunächst eine Bereinigung durchführen und dann das letzte Gem löschen.
gem cleanup <gemname>
gem uninstall <gemname> --version
Ich hatte einen Edelstein, der nicht sterben wollte, und musste den Weg „Alles zerstören“ gehen, indem ich alle meine Edelsteine mit dem Befehl löschte gem uninstall -aIx
.Dann einfach gem install <gemname>
und ich war wieder einsatzbereit.
Aktualisieren Sie Ihre Version von Ruby Gems Gem Update -System, dann hoffentlich Deinstallation XXX funktioniert jetzt [war ein Fehler in älteren Versionen
Kasse RVM, Damit können Sie Ihre Ruby-Umgebung vollständig unter Ihrem Benutzer verwalten und nicht in einem Systemverzeichnis.Ich habe festgestellt, dass es viel einfacher ist, Ruby-Versionen und Edelsteine damit zu verwalten.