Created
July 9, 2012 14:05
-
-
Save MattiSG/3076772 to your computer and use it in GitHub Desktop.
Install a previous version of a formula with Homebrew
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Installs the previous version of a Homebrew formula | |
# | |
# Usage: brewv formula_name desired_version | |
# | |
# Based on http://stackoverflow.com/questions/3987683/homebrew-install-specific-version-of-formula#9832084 | |
# | |
# Author: Matti Schneider <[email protected]> (http://mattischneider.fr) | |
versions=$(brew versions $1) | |
result=$(echo "$versions" | grep -m 1 $2) #-m 1 to stop as soon as possible | |
if [[ $? = 0 ]] | |
then | |
commit=$(echo $result | cut -d ' ' -f 4) | |
formula=$(echo $result | cut -d ' ' -f 5) | |
cd /usr/local | |
if [[ -e $formula ]] | |
then brew unlink $1 # will fail if not already installed, hence the check above | |
fi | |
git checkout $commit $formula && | |
brew install $1 && | |
git reset HEAD $formula && | |
git checkout -- $formula | |
cd - > /dev/null | |
echo "$1 $2 installed." | |
echo "You can now switch versions with 'brew switch $1 <version>'" | |
else | |
echo "$versions" | |
echo | |
echo "No version matching '$2' for '$1'" | |
echo "Available versions have been printed above" | |
exit 1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This all doesn't seem to be working anymore.
What worked for me: run
brew info python3
to see what other versions of python3 have been installed (3.5.2_3 was listed), and thenbrew switch python3 3.5.2_3
to switch to the old version, andbrew pin python3
to prevent upgrading.Not sure how this works if you've never had older versions installed...