Homebrew Install Specific Version of Formula

Viewed 37122

Specifically kubernetes-cli. I have 1.12.0 installed. I need 1.11.x, but I don't have that installed.

I've reviewed and tried every answer in this thread and nothing worked: Homebrew install specific version of formula?

I've tried brew search but there are no tapped versions:

~ brew search kubernetes-cli
==> Formulae
kubernetes-cli ✔

I've tried brew versions but that command has been removed:

~ brew versions 
Error: Unknown command: versions

I've tried brew install kubernetes-cli@1.11.0 and .1 and .2:

~ brew install kubernetes-cli@1.11.0
Error: No available formula with the name "kubernetes-cli@1.11.0" 
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

brew switch requires that I have the older version installed, which I don't.

~ brew switch kubernetes-cli 1.11.0
Error: kubernetes-cli does not have a version "1.11.0" in the Cellar.
kubernetes-cli installed versions: 1.12.0
6 Answers
  1. Go to homebrew git repo: https://github.com/Homebrew/homebrew-core/
  2. Identify the commit specific to kubernetes 1.11.x version
  3. Go to Formula folder
  4. Open raw version of kubernetes-cli.rb file
  5. Copy the raw link of the file https://raw.githubusercontent.com/Homebrew/homebrew-core/3e8f5503dde7069c5ff49b82d5e1576e6ebe3a5d/Formula/kubernetes-cli.rb
  6. Run brew install <raw_link>

I dont have enough rep to make a comment on the answer that helped me. So writing here to be more specific about point 2 from @urpalreloaded

  1. brew search --pull-request kubernetes-cli@1.11.0
  2. It will say that it did not find the cask but should give you a link to a closed pull request that matches the version you searched for. Follow the link to the pull request and the follow steps 3-5.
  3. brew unlink kubernetes-cli
  4. brew install <raw-link>

FWIW, I think brew doesnt keep versions because it will make the repo too big? This workaround is inconvenient and perhaps they could find a way around this issue on their end?

The above answers were really useful but when I tried to install Carthage 0.30.1 on my Sierra 10.12.6 machine I got a SHA256 mismatch error:

$ brew install https://raw.githubusercontent.com/ilovezfs/homebrew-core/8c93668a451087611b2247cafe02ad6f867daed6/Formula/carthage.rb --force-bottle
######################################################################## 100.0%
Warning: carthage 0.32.0 is available and more recent than version 0.30.1.
==> Downloading https://homebrew.bintray.com/bottles/carthage-0.30.1.sierra.bottle.tar.gz
######################################################################## 100.0%
Error: SHA256 mismatch

and then it failed to build from source due to latest Sierra Xcode not supporting the new Xcode build system.

What worked for me was to directly install from the bottle (the url is shown in first brew install <raw url> output):

brew install https://homebrew.bintray.com/bottles/carthage-0.30.1.sierra.bottle.tar.gz

I have the same problem as dsjapan and what worked for me was changing to high sierra:

brew unlink carthage
brew install https://homebrew.bintray.com/bottles/carthage-0.30.1.high_sierra.bottle.tar.gz

As of Apr 2022:

The easiest way I found was to create a new tap.

For kubernetes-cli specifically (and if you don't care about patch versions - the x in 1.11.x), you can just use:

brew install kubernetes-cli@1.11

And it will complete with the latest x available.

Related