How can I remove outdated installed versions of Homebrew packages?

How can I remove outdated versions of Homebrew packages that are installed side-by-side with current versions?

1

3 Answers

The cleanup (brew cleanup) command will remove outdated installed package versions. To affect a particular package/formula, you may supply a formula name like so: brew cleanup $FORMULA. To simulate cleanup, i.e. see what would be removed, you may use the -n option: brew cleanup -n.

3

@aknuds1 is right about brew cleanup so I'll just add that I have an alias in my ~/.profile that does all my brew-related cleanup, including cask update/cleanup

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

I end with brew doctor to make sure all packages are correctly symlinked, e.g., awscli seems to have a problem with this on the regular so I constantly have to unlink/relink. Hope this helps.


EDIT: As it was pointed out to me in the comments, brew cask functionality has been merged into the homebrew core. These commands were also throwing errors, so references to brew cask have been deleted.

EDIT2: As I run this daily, I noticed the following comment today. I've updated the command accordingly

 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).
8

Just for the records, you can clean the outdated versions of the packages that you are about to upgrade using the --cleanup flag:

brew upgrade --cleanup <package_name>

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like