Schienen und Gems werden deinstalliert, es wird die Fehlermeldung „Deinstallation nicht möglich, überprüfen Sie ‚Gem List -d …‘“ angezeigt.

StackOverflow https://stackoverflow.com/questions/4007074

Frage

Ich beginne mit dem üblichen Noob-Satz: „Ich bin neu bei Rails“.Oh, und ich verwende Mac OSX 10.6.4

Ich habe eine Reihe von Anleitungen zur Einrichtung befolgt, insbesondere diese beiden Hier Und Hier.Die Anleitungen sind großartig, der Grund, warum ich die zweite verwende, ist RVM und der Grund, warum ich die erste verwende, ist MYSQL.

Wie auch immer, als ich angefangen habe, habe ich die Anweisungen nicht vollständig befolgt, und so habe ich nach der Installation von RVM aus irgendeinem Grund Schienen mit installiert sudo gem install rails -v 2.3.8 denn das ist die Version, die ich brauche.Also...Mir wurde klar, dass ich das System Ruby verwendete und RVM nicht nutzte.Was ich jetzt getan habe, war Ruby 1.9.2 zu installieren, damit ich Rails 3 installieren und testen kann, und ich habe auch 1.8.7 und Rails 2.3.8 installiert, damit ich es für das verwenden kann, was ich brauche.

Jetzt versuche ich, die Gems vom System Ruby zu deinstallieren, aber jedes Mal, wenn ich es versuche, erhalte ich die folgende Fehlermeldung:

FEHLER:Während der Ausführung von gem ...(Gem::InstallError)
Kann nicht deinstalliert werden, überprüfen Sie „gem list -d Welches Juwel auch immer ich zu deinstallieren versuche'

Irgendwelche Ideen, wie man Schienen und all diese Juwelen entfernt?Ich möchte mit RVM einfach ganz von vorne anfangen.


AKTUALISIEREN:

Durch Ausführen des Befehls gem list -d rails Ich habe die Edelsteine ​​in /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/18 gefunden.Soll ich sie manuell löschen?

War es hilfreich?

Lösung

LÖSUNG!!Ich verstehe immer noch nicht, warum das passiert ist. Ich würde mich freuen, wenn es jemand erklären könnte.Warum existierte der Weg nicht?Was hat diesen Fehler verursacht?

Außerdem möchte ich erwähnen, dass die Lösung, auf die ich verlinkt habe, einen Kommentar enthält, der besagt, dass es sich bei der Frage um ein Duplikat handelt.Das Original hat jedoch eine andere Lösung und hat mir nicht geholfen (obwohl es die Grundlage für die Suche nach dieser Antwort ist).Durch einfaches manuelles Löschen der Edelsteine ​​im Finder würden diese nicht aus der Edelsteinliste entfernt.

Ohne weiteres - Es stellt sich heraus, dass beim Versuch, das Gem zu deinstallieren, es seinen Pfad nicht finden kann (ich denke, das Problem liegt an der Installation mit sudo, aber ich könnte mich irren).Was Sie tun müssen, ist (Sie müssen dies für jeden Edelstein einzeln tun, oder zumindest musste ich es tun):

  1. gem list -d 'name of gem' und notieren Sie sich den Speicherort „Installiert unter:“ (in meinem Fall /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8).
  2. sudo gem uninstall 'name of gem' -i 'the path noted above' (ex.in meinem Fall, sudo gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  3. Einige Gems lassen sich möglicherweise immer noch nicht deinstallieren und geben einen Berechtigungsfehler zurück.Wenn dies der Fall ist, müssen Sie im obigen Pfad einen Ordner /bin erstellen.(in meinem Fall, mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
  4. Fahren Sie mit der Deinstallation wie in Schritt 2 fort und verwenden Sie weiterhin den ursprünglichen Pfad (/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8).

Jetzt sollten alle Deinstallationen funktionieren!

Andere Tipps

Zwei Dinge sollten Sie bei der Verwendung von rvm beachten:

  1. Du solltest NIEMALS verwenden sudo Um Edelsteine ​​zu installieren, führen Sie einfach Folgendes aus: gem install xxx

  2. Sie können installierte Gems nicht deinstallieren global Gemset aus einem anderen Gemset.Sie sollten zum globalen Gemset wechseln und von dort aus deinstallieren:


 rvm gemset use global
 gem uninstall xxx

Führen Sie dies entweder in irb oder in einem eigentlichen Skript aus:

`gem list --no-versions`.split("\n").each do |gem|
  `gem list -d #{gem}`.gsub(/Installed at(.*):.*/).each do |dir|
    dir = dir.gsub(/Installed at(.*): /,'').gsub("\n", '')
    system "gem uninstall #{gem} -aIx -i #{dir}"
  end  
end

Versuchen Sie es so:

sudo apt purge rails

OK, ich verstehe....

An diesem Punkt sollte es, wenn Sie sich im Terminal befinden, nur ein paar Minuten dauern, um den ganzen Kram neu zu installieren

Ich vermute, dass Sie möglicherweise nicht den richtigen RVM-Namen haben, der die Gems enthält, die Sie installieren möchten. Deshalb würde ich vorschlagen, Rubygems neu zu installieren und Ihre Kern-Gems von Anfang an zu erstellen Global RVM-Gemset-Name.

Eine allgemeinere Antwort zum Löschen aller Gems für ältere Versionen von Gem 1.8.

Edelsteinliste-No-Resions | Xargs sudo Gem Deinstallation -aix

Ich habe RVM zum Verwalten meiner Gemsets verwendet und das Gemset nicht ausgewählt.Es lag nicht daran, dass ich das falsche Edelsteinset ausgewählt hatte, sondern daran, dass ich das Edelsteinset überhaupt nicht ausgewählt hatte.Eine schöne Art, den größten Teil einer Stunde meines ersten Morgens nach meinen Sommerferien zu verbringen!

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