Cómo desinstalar todas las versiones no utilizadas de un paquete de macports a la vez

32

Al mantener los paquetes de macports, prefiero eliminar los paquetes viejos cuando los reemplazo por otros nuevos. Sin embargo, con el tiempo a medida que se actualizan los paquetes, terminas con problemas como:

$ 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 un comando macports para eliminar todas las versiones de un paquete a la vez?

Dana la sana
fuente

Respuestas:

38

Si desea desinstalar todas las versiones antiguas (no activas) intente esto:

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

Si quiere decir que desea desinstalar todas las versiones (no activas y activas) de (por ejemplo) el postgresql83puerto, intente esto:

port -y uninstall installed and postgresql83
  # if you like what you see, change “port -y” to “sudo port”
Chris Johnsen
fuente
Eso funcionó para mí, aunque el puerto malo no maneja las actualizaciones de dependencia a postgres84 automáticamente.
Dana the Sane
2
@Dana the Sane Si te refieres a eliminar paquetes que dependen de postgres84 automáticamente, puedes usar el argumento --follow-dependnts.
Nick
@ Nick Intentaré eso la próxima vez que desinstale algo.
Dana the Sane
El segundo enfoque funciona bien para mí, pero el primero -uparece dar la misma advertencia sobre la instalación de múltiples versiones como si no hubiera usado -unada
mate b
Estos comandos no funcionan (en Mac OSX Mavericks).
bzero
44
sudo port uninstall inactive

Esto eliminará sus puertos inactivos.

sprotsman
fuente