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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top