Como posso remover versões desatualizadas dos pacotes Homebrew?

Respostas:

333

O comando cleanup ( brew cleanup) removerá as versões desatualizadas do pacote instalado. Para afetar um determinado pacote / fórmula, você pode fornecer um nome de formula assim: brew cleanup $FORMULA. Para simular a limpeza, ou seja, ver o que seria removido, você pode usar a -nopção: brew cleanup -n.

aknuds1
fonte
31
Para o registro: brew cleanupsó limpa desatualizado versões de pacotes, se você tem a versão mais recente instalada, então primeiro brew upgrade, em seguida,brew cleanup
Jan
38
Caralho. Isso me deu mais do que 3G de volta. Quem sabia ...
Alper
38
This operation has freed approximately 17.2GB of disk space.
Fevgs 17/04
11
AMD! Acabei de receber mais de 12 GB de espaço. WooHoo!
Richard Hurt
3
Uau, um ano upgradesem cleanupresultou em 17,6 GB de software não utilizado para mim! (Marque esta opção com brew cleanup -n, que não exclui nada.) Obrigado por esta resposta. :)
Erik
80

@ aknuds1 está certo, brew cleanupentão vou acrescentar que tenho um alias no meu ~/.profileque faz toda a minha limpeza relacionada à fermentação, incluindo atualização / limpeza de barril

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

Termino com brew doctorpara garantir que todos os pacotes estejam vinculados corretamente, por exemplo, awscliparece ter um problema com isso regularmente, por isso constantemente tenho que desvincular / vincular novamente. Espero que isto ajude.


Edição: Como me foi indicado nos comentários, a brew caskfuncionalidade foi mesclada no núcleo do homebrew. Esses comandos também estavam gerando erros, portanto, as referências brew caskforam excluídas.

EDIT2: Como eu executo isso diariamente, notei o seguinte comentário hoje. Eu atualizei o comando de acordo

    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
fonte
3
Você não precisa brew upgrade brew-caskmais fazer isso, já que essa solicitação de pullbrew update também atualizará o homebrew-cask automaticamente.
Lantrix 12/07/16
1
@Lantrix Obrigado por essa atualização. Editei minha resposta para refletir essa alteração.
SaxDaddy
2
brew upgrade --cleanupirá remover pacotes antigos à medida que novos pacotes forem instalados.
Zenexer 31/01
Eu não aconselho a usar brew upgrade, mas em vez de usar brew outdatede, em seguida, atualizar cada um dos pacotes de brew upgrade PACKAGEque forma você tem mais controle
Pedro Luz
Como brew upgradeé um comando único para atualizar todos os pacotes, ele funciona bem para automação. Opcionalmente, você pode pinempacotar as versões que deseja manter e atualizar o restante de uma só vez.
SaxDaddy
34

Apenas para os registros, você pode limpar as versões desatualizadas dos pacotes que você está prestes a atualizar usando o sinalizador --cleanup:

brew upgrade --cleanup <package_name>

bergercookie
fonte