How can I brew link a specific version?
This is probably the best way as of 11.1.2022:
To install a specific version, e.g. postgresql 9.5 you simply run:
$ brew install [email protected]
To list the available versions run a search with @:
$ brew search postgresql@
==> Formulae
postgresql postgresql@11 postgresql@13 [email protected] qt-postgresql
postgresql@10 postgresql@12 [email protected] [email protected] postgrest
==> Casks
navicat-for-postgresql
DEPRECATED in Homebrew 2.6.0 (December 2020):
The usage info:
Usage: brew switch <formula> <version>
Example:
brew switch mysql 5.5.29
You can find the versions installed on your system with info
.
brew info mysql
And to see the available versions to install, you can provide a dud version number, as brew will helpfully respond with the available version numbers:
brew switch mysql 0
Update (15.10.2014):
The brew versions
command has been removed from brew, but, if you do wish to use this command first run brew tap homebrew/boneyard
.
The recommended way to install an old version is to install from the homebrew/versions
repo as follows:
$ brew tap homebrew/versions
$ brew install mysql55
For detailed info on all the ways to install an older version of a formula read this answer.
Sadly brew switch
is deprecated in Homebrew 2.6.0 (December 2020)
$ brew switch
Error: Unknown command: switch
TLDR, to switch to package
version 10
:
brew unlink package
brew link package@10
To use another version of a package, for example node
:
- First, ensure that the specific version is installed using
brew list
. My package here isnode
(16) andnode@14
.
➜ ~ brew list
==> Formulae
node
node@14
➜ ~ node -v
v16.1.0
- Unlink the current package:
brew unlink node
.
➜ ~ brew unlink node
Unlinking /usr/local/Cellar/node/16.1.0... 7 symlinks removed.
- Link the correct version
➜ ~ brew link node@14
Linking /usr/local/Cellar/node@14/14.16.1_1... 3857 symlinks created.
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/node@14/bin:$PATH"' >> ~/.zshrc
➜ ~ node -v
v14.16.1
If you have installed, for example, php 5.4 it could be switched in the following way to php 5.5:
$ php --version
PHP 5.4.32 (cli) (built: Aug 26 2014 15:14:01)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
$ brew unlink php54
$ brew switch php55 5.5.16
$ php --version
PHP 5.5.16 (cli) (built: Sep 9 2014 14:27:18)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies