From 6f184ea0dd3c3eb860688d8e481b6b6e140e1f60 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Fri, 25 Jan 2019 20:10:02 +0000 Subject: [PATCH] formula_installer: skip linking formulae with already installed casks. If you have the `emacs` or `docker` formulae and casks both installed the formula will fail to link. Skip trying to link the formula if the cask is already installed. Fixes https://github.com/Homebrew/homebrew-core/issues/36310. --- Library/Homebrew/formula_installer.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index fd8c233b52..ba0fd8bb34 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -793,6 +793,17 @@ class FormulaInstaller return end + cask_installed_with_formula_name = begin + Cask::CaskLoader.load(formula.name).installed? + rescue Cask::CaskUnavailableError + false + end + + if cask_installed_with_formula_name + ohai "#{formula.name} cask is installed, skipping link." + return + end + if keg.linked? opoo "This keg was marked linked already, continuing anyway" keg.remove_linked_keg_record