What if there is an error message that adoptopenjdk8 exists in multiple taps?

When brew cleanup shows the following error message:

Error: Cask adoptopenjdk8 exists in multiple taps:
  homebrew/cask-versions/adoptopenjdk8
  adoptopenjdk/openjdk/adoptopenjdk8

How can I resolve this error without reinstalling Homebrew?

FYI some relevant references:

  • https://github.com/Homebrew/brew/issues/6112 - looks like an issue to be resolved on Homebrew itself
  • https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106 - original bug report
  • https://improve-future.com/en/how-to-solve-the-homebrew-error-cask-adoptopenjdk8-exists-in-multiple-taps.html - solved by reinstalling Homebrew

Here is a quick solution which assumes that Homebrew is up-to-date and there is no need to use any other packages from the adoptopenjdk/openjdk tap:

Check the state of adoptopenjdk/openjdk tap and adoptopenjdk8 package:

  • brew tap - lists which taps are currently enabled
  • brew search adoptopenjdk8 - shows which adoptopenjdk8 casks are available from the enabled taps and which adoptopenjdk8 casks are currently installed

Now assuming that the adoptopenjdk/openjdk tap is listed as enabled, remove the adoptopenjdk/openjdk tap as follows:

brew untap adoptopenjdk/openjdk

Then check what adoptopenjdk8 casks are currently installed. This should show exactly one adoptopenjdk8 cask installed.

At this point, brew cleanup should work correctly.

My explanation: it appears to me that they added adoptopenjdk8 to the built-in Homebrew caskroom.

Note that it should be OK to do brew tap adoptopenjdk/openjdk afterwards, if needed. (This has not caused any issues for me so far.)


Another quick solution: remove cask file

sudo rm /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions/Casks/adoptopenjdk8.rb