55

How do I specify a version number when installing something with brew cask install?

4 Answers 4

97

For recent versions of Homebrew, Jethro' instructions below may not work work, because we will get an error like:

Invalid usage: Non-checksummed download of <FORMULA_NAME> formula file from an arbitrary URL is unsupported.

I found a workaround:

  1. Go to the Homebrew Cask search page: https://formulae.brew.sh/cask/
  2. Type and find the application you are looking for
  3. Click Cask code link
  4. On Github click History button
  5. Find the version you need by reading the commit messages and view the raw file. Confirm the version variable (normally on line 2) is the version you need.
  6. Click on the name of the commit, then three dots and select View file
  7. Right-click Raw button and Save Link As... to download the file locally
  8. When downloaded, go to download directory cd Downloads/
  9. Finally run brew install --cask <FORMULA_NAME>.rb
  10. Voilà 😄

If you need some visual assistance check the screenshots here.

Sign up to request clarification or add additional context in comments.

5 Comments

I was going to suggest using the file's URL instead of downloading it. Then I realized it was basically the same thing as @jethro's solution, which is apparently problematic for some people. It worked for me, though. I was able to install dbeaver-community v. 22.3.5, using the command: brew install --cask https://raw.githubusercontent.com/Homebrew/homebrew-cask/26c51fdcd344f1b08b56aed88dafdac660236df8/Casks/dbeaver-community.rb. Note that getting specific versions of casks works with Homebrew's upgrade command as well as install.
yep using the github url works perfectly - easier than downloading yourself
For step 7 above: GitHub now has a "Download raw file" button (the downward arrow icon), so you can use this instead
Using a URL doesn't seem to work on brew 4.4.11, this is what I am getting: "Error: Non-checksummed download of <formula>.rb formula file from an arbitrary URL is unsupported! brew extract or brew create and brew tap-new to create a formula file in a tap on GitHub instead."
Not working on Homebrew 4.6.20.
17

The other answers are pretty heavy handed. Although the homebrew-cask-versions repo was deprecated in May 2024, casks pinned to a specific version are supported using the standard cask's token with a suffix of @ in the main homebrew cask repo.

To see if what version you're looking for is there, search for your cask with brew search --cask yourformula@ and look for @ signs in the displayed names.

For example, carbon-copy-cloner has multiple versions and displays as follows:

$ brew search --cask carbon-copy-cloner ==> Casks carbon-copy-cloner carbon-copy-cloner@5 carbon-copy-cloner@6 

You can also go to https://formulae.brew.sh/cask/ and search for '@' using your in-browser search.

And if you don't find a cask that is pinned to the version you want, the Homebrew Cask Cookbook explains how to create a cask pinned to a specific version or a development channel such as @nightly. This isn't as hard as it looks - the cookbook and PR will mostly walk you though it :)

3 Comments

Error: homebrew/cask-versions was deprecated. This tap is now empty and all its contents were either deleted or migrated.
Updated based on the recent dreprication. Thanks @wim!
If the package I'm looking for doesn't have an @ versions. Do I really have to write a custom formula to install an older version of the package? Isn't there a simple command line option that solves this?
12

You can manually point brew at the ruby file for a specific version of a cask, using a git hash. This lets you control which version is installed.

For example:

  1. Find the cask .rb file on the homebrew-cask git repo that you want.
  2. Get the commit hash, eg cee7983cd95fc92fdc250fc509f2379cefe647fe in the example above.

    Git may give you instructions to view the file history locally - eg git clone https://github.com/Homebrew/homebrew-cask.git git log master -- Casks/CASK_NAME.rb

  3. Point brew at the file using the hash: brew cask install https://raw.githubusercontent.com/caskroom/homebrew-cask/cee7983cd95fc92fdc250fc509f2379cefe647fe/Casks/minikube.rb

1 Comment

Trying the above, I get "Error: Calling Non-checksummed download of curl formula file from an arbitrary URL is disabled!". The suggestion to use wget followed by brew install --HEAD -s your-file.rb from here worked for me: dev.to/gjrdiesel/…
6

If you run

brew edit [formula] 

you can change the version that matches your operating system. If you know the checksum, enter that too. If not, just comment that line out with # and it will skip the check. Then run

HOMEBREW_NO_INSTALL_FROM_API=1 brew reinstall [formula] 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.