Pregunta ¿Cómo puedo eliminar versiones instaladas desactualizadas de paquetes Homebrew?


¿Cómo puedo eliminar versiones obsoletas de Homebrew paquetes que se instalan lado a lado con las versiones actuales?


172


origen




Respuestas:


los limpiar (brew cleanup) comando eliminará las versiones obsoletas del paquete instalado. Para afectar un paquete / fórmula en particular, puede proporcionar un nombre de fórmula así: brew cleanup $FORMULA. Para simular la limpieza, es decir, ver qué se eliminará, puede usar -n opción: brew cleanup -n.


262



Para el registro: brew cleanup solo limpia las versiones obsoletas del paquete si tiene la última versión instalada, por lo que primero brew upgrade entonces brew cleanup - Jan
Santo cielo. Eso me devolvió más que 3G. Quien sabe… - Alper
This operation has freed approximately 17.2GB of disk space. - fvgs
¡DIOS MIO! Acabo de recuperar más de 12 GB de espacio. WooHoo! - Richard Hurt
Esta operación ha liberado aproximadamente 11.8GB de espacio en disco. ¡Gracias! - Cninroh


@ aknuds1 tiene razón acerca de brew cleanup así que solo agregaré que tengo un alias en mi ~/.profile eso hace toda mi limpieza relacionada con la infusión, incluida la actualización / limpieza de barriles

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

Termino con brew doctor para asegurarse de que todos los paquetes estén correctamente enlazados, por ejemplo, awscli parece tener un problema con esto regularmente, así que constantemente tengo que desvincular / volver a vincular. Espero que esto ayude.


EDITAR: Como me fue señalado en los comentarios, brew cask la funcionalidad se ha fusionado en el núcleo homebrew. Estos comandos también arrojaban errores, por lo que las referencias a brew cask han sido eliminados

EDIT2: Mientras corro esto todos los días, 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).

70



No necesitas hacer brew upgrade brew-cask más como desde esta solicitud de extracción  brew update también ahora actualizará homebrew-cask automáticamente. - Lantrix
@Lantrix Gracias por esa actualización. He editado mi respuesta para reflejar este cambio. - SaxDaddy
brew upgrade --cleanup eliminará los paquetes antiguos a medida que se instalen nuevos paquetes. - Zenexer
No aconsejo usar brew upgrade pero en su lugar para usar brew outdated y luego actualiza cada uno de los paquetes brew upgrade PACKAGE de esa manera tienes más control - Pedro Luz
Como brew upgrade es un comando único para actualizar todos los paquetes, funciona bien para la automatización. Opcionalmente, puedes pin las versiones del paquete que desea conservar y actualizar el resto de una sola vez. - SaxDaddy


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

brew upgrade --cleanup <package_name>


26