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