So deinstallieren Sie alle nicht verwendeten Versionen eines Macports-Pakets auf einmal

32

Bei der Pflege von Macports-Paketen ziehe ich es vor, alte Pakete zu entfernen, wenn ich sie durch neue ersetze. Im Laufe der Zeit, wenn Pakete aktualisiert werden, treten jedoch Probleme auf wie:

$ sudo port uninstall -f postgresql83
--->  The following versions of postgresql83 are currently installed:
--->    postgresql83 @8.3.3_0
--->    postgresql83 @8.3.7_0
--->    postgresql83 @8.3.8_1 (active)
Error: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry.

Gibt es einen macports-Befehl, um alle Versionen eines Pakets auf einmal zu entfernen?

Dana the Sane
quelle

Antworten:

38

Wenn Sie alle alten (nicht aktiven) Versionen deinstallieren möchten, versuchen Sie Folgendes:

port -y -u uninstall
  # if you like what you see, change “port -y” to “sudo port”

Wenn Sie damit meinen, dass Sie alle (nicht aktiven und aktiven) Versionen des postgresql83Ports deinstallieren möchten , versuchen Sie Folgendes:

port -y uninstall installed and postgresql83
  # if you like what you see, change “port -y” to “sudo port”
Chris Johnsen
quelle
Das hat bei mir funktioniert, schade, dass Port Abhängigkeitsaktualisierungen von postgres84 nicht automatisch verarbeitet.
Dana the Sane
2
@ Dana the Sane Wenn Sie Pakete, die von postgres84 abhängen, automatisch entfernen möchten, können Sie das Argument --follow-dependents verwenden.
Nick
@Nick Ich werde das nächste Mal versuchen, wenn ich etwas deinstalliere.
Dana the Sane
Der zweite Ansatz funktioniert gut für mich, aber der erste mit -uscheint die gleiche Warnung über mehrere Versionen zu geben installiert wird , als ob ich nicht benutzt hatte , -ubei allen
matt b
Diese Befehle funktionieren nicht (unter Mac OS X Mavericks).
bzero
44
sudo port uninstall inactive

Dadurch werden Ihre inaktiven Ports entfernt.

Sprotsman
quelle