diff --git a/Library/Homebrew/env_config.rb b/Library/Homebrew/env_config.rb index def50503d5..039560e834 100644 --- a/Library/Homebrew/env_config.rb +++ b/Library/Homebrew/env_config.rb @@ -257,6 +257,10 @@ module Homebrew "`HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS` days.", boolean: true, }, + HOMEBREW_NO_INSTALL_UPGRADE: { + description: "If set, `brew install` will not automatically upgrade installed and out of date formulae", + boolean: true, + }, HOMEBREW_PRY: { description: "If set, use Pry for the `brew irb` command.", boolean: true, diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index cd5d6aa846..4beaf70323 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -351,7 +351,12 @@ class FormulaInstaller message = <<~EOS #{formula.name} #{formula.linked_version} is already installed EOS - if only_deps? + if Homebrew::EnvConfig.no_install_upgrade? && formula.outdated? && !formula.head? + message += <<~EOS + To upgrade to #{formula.pkg_version}, run: + brew upgrade #{formula.full_name} + EOS + elsif only_deps? message = nil else # some other version is already installed *and* linked