From ac53a6ae361fb4ddc38470dcbaea2d36c2f1b00d Mon Sep 17 00:00:00 2001 From: Colin Dean Date: Tue, 19 Jul 2022 18:06:42 -0400 Subject: [PATCH] Instruct user to tap untapped official tap when running its commands This came up in https://github.com/Homebrew/homebrew-bundle/issues/1108 wherein a user had unwittingly untapped some official taps that get automatically tapped on first use and couldn't figure out why they couldn't use the associated command. --- Library/Homebrew/brew.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index b514d00621..42911fa9a4 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -104,6 +104,13 @@ begin possible_tap = Tap.fetch(possible_tap.first) if possible_tap if !possible_tap || possible_tap.installed? || Tap.untapped_official_taps.include?(possible_tap.name) + blocked_tap = possible_tap && Tap.untapped_official_taps.include?(possible_tap.name) + if blocked_tap + [ + "`brew #{cmd}` is unavailable because #{possible_tap.name} was manually untapped and cannot be retapped.", + "Run `brew tap #{possible_tap.name}` to reenable `brew #{cmd}`.", + ].each { |ln| onoe ln } + end # Check for cask explicitly because it's very common in old guides odie "`brew cask` is no longer a `brew` command. Use `brew --cask` instead." if cmd == "cask" odie "Unknown command: #{cmd}"