Comment désinstaller toutes les versions non utilisées d'un paquet macports en même temps

32

Lors de la maintenance des packages macports, je préfère supprimer les anciens lorsque je les remplace par des nouveaux. Cependant, au fil du temps, à mesure que les packages sont mis à niveau, vous vous retrouvez avec des problèmes tels que:

$ 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.

Existe-t-il une commande macports permettant de supprimer toutes les versions d’un package à la fois?

Dana la saine
la source

Réponses:

38

Si vous souhaitez désinstaller toutes les anciennes versions (non actives), essayez ceci:

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

Si vous voulez dire que vous voulez désinstaller toutes les versions (non actives et actives) du (par exemple) le postgresql83port, essayez ceci:

port -y uninstall installed and postgresql83
  # if you like what you see, change “port -y” to “sudo port”
Chris Johnsen
la source
Cela a fonctionné pour moi, dommage que le port ne gère pas automatiquement les mises à jour de dépendance vers postgres84.
Dana the Sane
2
@Dana the Sane Si vous voulez dire que vous supprimez automatiquement les paquets qui dépendent de postgres84, vous pouvez utiliser l'argument --follow-dependents.
Nick
@ Nick, je vais essayer la prochaine fois que je désinstalle quelque chose.
Dana the Sane
La deuxième approche fonctionne très bien pour moi, mais le premier avec -usemble donner le même avertissement sur plusieurs versions en cours d' installation comme si je ne l' avais pas utilisé -udu tout
mat b
Ces commandes ne fonctionnent pas (sur Mac OSX Mavericks).
bzero
44
sudo port uninstall inactive

Cela supprimera vos ports inactifs.

sprotsman
la source