multiple side-by-side versions with Homebrew?

Yeah. When you install a new version of a package, it keeps the old one. The symlinks in /usr/local/bin or wherever point to the latest version, but you can still call the binaries (or link to the libraries) in the older version.

brew list to see what's installed. You can look in package directories to see all the versions; or call brew list --versions to see all packages and all versions.


As of Homebrew 2.0.0, it would remove old packages automatically when brew upgrade is called. (https://brew.sh/2019/02/02/homebrew-2.0.0/). To opt-out of this behavior, set the environment variable: export HOMEBREW_NO_INSTALL_CLEANUP=1


To easily switch between versions of formulae, you can use:

brew switch <formula> <version>

For example:

brew switch gradle 3.2.1

To list which versions you have installed try:

brew list --versions

or:

brew list <formula> --versions

If you want to get rid of older versions, just use:

brew cleanup

Tags:

Homebrew