¿Cómo puedo eliminar versiones instaladas obsoletas de los paquetes de Homebrew?

Respuestas:

333

El comando cleanup ( brew cleanup) eliminará las versiones de paquete instaladas obsoletas. Para afectar un paquete / fórmula en particular, puede proporcionar un nombre de fórmula de este modo: brew cleanup $FORMULA. Para simular la limpieza, es decir, ver lo que se elimina, puede utilizar la -nopción: brew cleanup -n.

aknuds1
fuente
31
Para el registro: brew cleanupsólo limpia versiones de los paquetes obsoletos si tiene instalada la versión más reciente, por lo que primero brew upgradey luegobrew cleanup
Ene
38
Santo cielo. Eso me devolvió más de 3G. Quién sabía ...
Alper
38
This operation has freed approximately 17.2GB of disk space.
fvgs
11
¡DIOS MIO! Acabo de recuperar más de 12 GB de espacio. WooHoo!
Richard Hurt
3
¡Wow, un año upgradesin el cleanupresultado de 17,6 GB de software no utilizado para mí! (Marque esto con brew cleanup -n, que no elimina nada.) Gracias por esta respuesta. :)
Erik
80

@ aknuds1 tiene razón, brew cleanupasí que solo agregaré que tengo un alias en mi ~/.profileque hace toda mi limpieza relacionada con la preparación, incluida la actualización / limpieza del barril

alias brewski='brew update && brew upgrade && brew cleanup; brew doctor'

Termino brew doctorpara asegurarme de que todos los paquetes estén correctamente vinculados, por ejemplo, awscliparece tener un problema con esto de manera regular, así que constantemente tengo que desvincular / volver a vincular. Espero que esto ayude.


EDITAR: Como se me señaló en los comentarios, la brew caskfuncionalidad se ha fusionado en el núcleo homebrew. Estos comandos también arrojaban errores, por lo que brew caskse eliminaron las referencias .

EDIT2: Al ejecutar esto a diario, noté el siguiente comentario hoy. He actualizado el comando en consecuencia

    Warning: We decided to not change the behaviour of `brew upgrade` so
    `brew upgrade --all` is equivalent to `brew upgrade` without any other
    arguments (so the `--all` is a no-op and can be removed).
SaxDaddy
fuente
3
No necesita hacer brew upgrade brew-caskmás, ya que esta solicitud de extracción brew update ahora también actualizará homebrew-cask automáticamente.
Lantrix
1
@Lantrix Gracias por esa actualización. He editado mi respuesta para reflejar este cambio.
SaxDaddy
2
brew upgrade --cleanupeliminará los paquetes antiguos a medida que se instalen paquetes nuevos.
Zenexer
No aconsejo usar, brew upgradesino usar brew outdatedy luego actualizar cada uno de los paquetes de brew upgrade PACKAGEesa manera para que tenga más control
Pedro Luz
Como brew upgradees un comando único para actualizar todos los paquetes, funciona bien para la automatización. Opcionalmente, puede pinempaquetar las versiones que desea conservar y actualizar el resto de una vez.
SaxDaddy
34

Solo para los registros, puede limpiar las versiones obsoletas de los paquetes que está a punto de actualizar utilizando el indicador --cleanup:

brew upgrade --cleanup <package_name>

bergercookie
fuente