This article is more than 1 year old

Pop open a cask: Homebrew version 4.0.0 is here

Add-on package manager for macOS (and Linux if you need it)

FOSS Fest Homebrew is a handy tool if you work in a terminal window on a Mac, which lets you quickly and easily install a wide variety of familiar tools from the wider FOSS world.

The add-on package manager doesn't need superuser permissions and installs programs into your home directory: it "does for macOS what apt-get does for Debian". The new version 4.0.0 is faster than before, especially when it comes to the update process. Automatic updates now run daily, rather than every five minutes as in version 3.6. While various Linux distros are supported – the basic [requirements] are a very modest kernel 3.2 or newer, and Glibc 2.13 or newer – the new version no longer officially supports WSL1.

pint-sized contributers

The Homebrew team, complete with "Foaming Pint" project lead Mike McQuaid

Although macOS has FOSS foundations, Apple's offering is aimed at, well, Mac users, who tend to live in a graphical, point-and-click world. This can be disorienting to migrants from Linux: although the Mac's terminal environment inherits a lot of ostensibly-familiar tools from its roots in FreeBSD, they are often elderly versions, or are subtly different. Linux folks expect to just be able to apt install python-3.11 or the like.

This is what Homebrew was designed to fix: install the Homebrew package, and then you can type brew install python@3.11 and you're off. And, crucially, while if you install a new version of Python on macOS you might break other bits of the OS, with Homebrew, anything you install is yours alone – it won't affect the OS as a whole, or any other users.

Homebrew was originally built for macOS, but the concept proved useful for Linux users, too. Either you may not have root access to the machine – or even if you do, that may only let you install ancient versions which aren't much help, but you can't readily update.

Project lead Mike McQuaid, who when the Reg FOSS desk met him at FOSDEM was resplendently dressed as a foaming pint, told us:

Homebrew on Linux used to be a separate fork known as "Linuxbrew". Over time, these efforts have got to where we are today, where we're entirely one project and share our team, infrastructure etc.

The original usage was on high-end bioinformatics machines where the users did not have root access to use the system package manager, but wanted to install new software from a package manager on that machine.

The formerly separate Linuxbrew fork was merged into version 1.9 of the main project back in 2019. McQuaid explained that some of the project's idiosyncratic terminology (for example, "casks" and "taps") dates to various project merges:

Homebrew Cask was a separate project (now mostly unified) to allow Homebrew to be used to install upstream binary packages for closed-source software (in comparison, homebrew-core, our main repository, only allows open source software that we build our own binaries for from source) e.g. Google Chrome, Firefox, etc.

Homebrew's "we build from source" description files are called "formulae" (from which we build our binary packages, "bottles").

Homebrew's "distribute upstream binaries" description files are called "casks".

Homebrew also works inside WSL on Windows 10 or 11, although in version 4, only WSL2 is supported. It supports Debian- and Red Hat-family distros if you need it, including Ubuntu, CentOS and RHEL, on x86-64 and both 32-bit and 64-bit Arm boxes. ®

More about

More about

More about


Send us news

Other stories you might like