LinuxCommandLibrary

brew-upgrade

Upgrade outdated Homebrew packages

TLDR

Upgrade all outdated casks and formulae

$ brew upgrade
copy

Upgrade a specific formula/cask
$ brew upgrade [formula|cask]
copy

Print what would be upgraded, but don't actually upgrade anything
$ brew upgrade [[-n|--dry-run]]
copy

SYNOPSIS

brew upgrade [options] [formula|cask …]

PARAMETERS

--dry-run
    Show upgraded formulae/casks without upgrading.

--verbose
    Print verbose logs of build steps.

--debug
    Enable debug output for troubleshooting.

--force-bottle
    Install bottles even if blocked by architecture.

--ignore-pinned
    Upgrade pinned formulae too.

--keep-old
    Retain previous versions during upgrade.

--force
    Force upgrade even if already up-to-date.

--cask
    Treat all named arguments as casks.

--greedy
    Include casks with auto-update policies.

--fetch-HEAD
    Fetch latest upstream changes (HEAD).

DESCRIPTION

The brew upgrade command is part of Homebrew (Linuxbrew on Linux), a popular package manager originally for macOS but ported to Linux. It updates all installed formulae (packages) or specified ones to their latest versions by fetching and building newer versions from source or bottles (pre-built binaries).

By default, it upgrades everything outdated, as listed by brew outdated. On Linux, it handles dependencies automatically, ensuring compatibility with the system's libraries. Use it regularly to keep software secure and feature-rich. It skips pinned formulae unless overridden and supports casks (GUI apps) with --cask, though cask support is limited on Linux compared to macOS.

Running without arguments upgrades all; specify formulae for targeted updates. Verbose output aids troubleshooting, and dry-run previews changes without applying them. Ideal for servers or desktops managing open-source tools like Git, Node.js, or Python.

CAVEATS

On Linux, bottle support is limited; many builds from source. Requires git and build tools. Casks are macOS-focused with poor Linux support. Run as non-root.

EXAMPLES

brew upgrade
brew upgrade git wget
brew upgrade --dry-run --verbose

LINUX NOTES

Use Linuxbrew/ Homebrew-on-Linux. Install prefix usually $HOME/.linuxbrew. Conflicts possible with distro packages like apt.

HISTORY

Homebrew created by Max Howell in 2009 for macOS. Linuxbrew forked in 2013 by Michka Popov for glibc/musl support. Merged back as official Linux support in 2018. brew upgrade evolved from early brew update behaviors.

SEE ALSO

Copied to clipboard