From 022c5dfad0ff50c291ced45c90d5cc66f95c09ba Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Fri, 14 Jan 2022 00:09:51 +0800 Subject: [PATCH] Suggest `brew unpin` if formula is pinned This will help users avoid the error where `brew` refuses to upgrade because the formula is pinned. --- Library/Homebrew/install.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/install.rb b/Library/Homebrew/install.rb index c4adcfe94f..75afa77a0e 100644 --- a/Library/Homebrew/install.rb +++ b/Library/Homebrew/install.rb @@ -130,11 +130,14 @@ module Homebrew return true end + unpin_cmd_if_needed = if f.pinned? + "brew unpin #{f.full_name} && " + end optlinked_version = Keg.for(f.opt_prefix).version onoe <<~EOS #{f.full_name} #{optlinked_version} is already installed. To upgrade to #{f.version}, run: - brew upgrade #{f.full_name} + #{unpin_cmd_if_needed}brew upgrade #{f.full_name} EOS elsif only_dependencies return true @@ -220,10 +223,13 @@ module Homebrew return true end + unpin_cmd_if_needed = if f.pinned? + "brew unpin #{f.full_name} && " + end onoe <<~EOS #{message} To upgrade to #{f.pkg_version}, run: - brew upgrade #{f.full_name} + #{unpin_cmd_if_needed}brew upgrade #{f.full_name} EOS elsif only_dependencies return true