15 votos

¿Cómo puedo eliminar dependencias recursivamente en Homebrew?

Estoy probando el Homebrew, pero no consigo averiguar, a la hora de desinstalar una "fórmula", cómo eliminar recursivamente las dependencias también. Es decir, Macports es:

$ port uninstall --follow-dependencies <portname>

¿Cómo funciona esto con Homebrew?

9voto

Toby Puntos 41

Una forma sencilla de resolver el problema de la acumulación de dependencias de cosas desinstaladas es ejecutar periódicamente las hojas de cerveza y compararlas con una lista de hojas deseadas, y eliminar recursivamente todo lo demás.

Lo siguiente funciona, pero por supuesto no es muy legible:

1) Muestre todas las hojas menos las que están en su lista de deseadas:

$ brew leaves | egrep -v 'bcwipe|brew-cask|lftp|mmv|mobile-shell|mplayer|node|octave|python|zsh'

2) Una vez que haya ajustado la lista (es decir, que haya añadido nuevos guardianes), deshágase del resto:

$ brew uninstall `brew leaves|egrep -v 'bcwipe|brew-cask|git|lftp|mmv|mobile-shell|mplayer|node|octave|python|zsh'`

Por lo general, esto tiene que ser llamado varias veces en una fila para obtener todos, y la llamada final debe ser seguido por un

$ brew cleanup

Para embellecer un poco, la lista de los que se quedan puede guardarse, por supuesto, en algún archivo.

4voto

James Woolfenden Puntos 177

Como dijo @Adam Vandenberg, no hay una manera fácil de hacerlo.

Sin embargo, yo ha presentado un problema en la página GitHub de Homebrew y parece que hay una solución para resolverlo, hasta que añadan un comando exclusivo.

Ver mi respuesta en StackOverflow para más información.

2voto

Mark Renouf Puntos 13128

Desgraciadamente, Homebrew no hace un seguimiento de las dependencias de esta manera.

1voto

danimo Puntos 9

Acabo de escribir un pequeño wrapper script para añadir esta funcionalidad a brew. Ponlo en tu .bashrc y hará un seguimiento de los paquetes que instalas, y luego eliminará recursivamente las dependencias innecesarias cuando las desinstales.

https://github.com/DaemonF/brew-recursive-uninstall

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X