Using the case of installing Python 2.7.9 instead of the latest 2.7.10, previously I could simply use brew versions python
and see all of the versions of Python formulae by their commit SHA in brew, and then check them out to install a specific version. This is an example of brew versions python
output:
$ brew versions python
Warning: brew-versions is unsupported and will be removed soon.
You should use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
2.7.9 git checkout 667284f /usr/local/Library/Formula/python.rb
2.7.8 git checkout f26ca5c /usr/local/Library/Formula/python.rb
2.7.7 git checkout d48206e /usr/local/Library/Formula/python.rb
2.7.6 git checkout 3c64184 /usr/local/Library/Formula/python.rb
2.7.5 git checkout a04b443 /usr/local/Library/Formula/python.rb
2.7.3 git checkout 865f763 /usr/local/Library/Formula/python.rb
2.7.4 git checkout 280581d /usr/local/Library/Formula/python.rb
2.7.2 git checkout 97c6869 /usr/local/Library/Formula/python.rb
2.7.1 git checkout 83ed494 /usr/local/Library/Formula/python.rb
2.7 git checkout 1bf3552 /usr/local/Library/Formula/python.rb
2.6.5 git checkout acd49f7 /usr/local/Library/Formula/python.rb
2.6.4 git checkout 843bff9 /usr/local/Library/Formula/python.rb
2.6.3 git checkout 5c6cc64 /usr/local/Library/Formula/python.rb
But the latest version of brew has already removed versions
support, and I don't understand how to install a previous Python using https://github.com/Homebrew/homebrew-versions. How do you actually install Python 2.7.9 instead of the newer 2.7.10?
I would like to know how to use homebrew-versions
instead of the more trivial way brew versions
.
With brew versions
I could easily see all versions from that specific formulae (have a look at the above Python versions spit out by brew versions python
). From the doc, there is no clear way to achieve the same result as brew versions python
does.
Unless you need the specific version from any reason other than the error, try brew rm swiftlint && brew install swiftlint . In general, with the new Homebrew, one would install a specific version by doing brew install swiftlint@version, so would be brew install [email protected].
Extract brewing is the form of brewing used by most new brewers. Extract brewing involves the use of concentrated Malt Extract in the brewing process. The use of malt extract lets the brewer skip the mashing process, and move directly to the boil and fermentation steps.
brew tap adds more repositories to the list of formulae that brew tracks, updates, and installs from. By default, tap assumes that the repositories come from GitHub, but the command isn't limited to any one location.
homebrew-versions used to be the easiest way to do this, but homebrew-versions has been deprecated and is no longer available in the current version of homebrew.
To find what versions are readily available, use the following command:
brew search python
to list out all of the available python packages which would display old versions like python@2
and then you could install them by using:
brew install python@2
If you have already installed the older version of the formula and have not removed it you can simply switch the symlinks to reference it using a brew command.
brew switch python 2.7.9
This command would switch you to version 2.7.9
brew switch python 2.7.10
This would switch you back to version 2.7.10
If you do not still have the older version available on your system there is another method you could try but it is more difficult and almost certainly unsupported by Homebrew so if you end up with issues you may not be able to rely on their help.
https://github.com/Homebrew/homebrew-core/commits/master/Formul/<formula>.rb
should take you to the commit history of that formula. For your example of installing python 2.7.9 you would do the following:
https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
1681e19
in this example)git checkout 1681e19 /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/python.rb
into the terminalFrom this point you would do whatever you would normally do to install the older version of python with the old versions method. This appears to be all the old method was doing.
Homebrew doesn't support installing formulas from git history, although it's possible. There are no python* formulas in the homebrew-versions tap because I think they would be a lot of work to maintain and don't provide the best possible user experience. pyenv is a great tool that solves a lot of the problems associated with keeping multiple pythons around. There's also a user-maintained tap with older Python versions; you could contribute a 2.7.9 formula there.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With