The latest release of popular macOS package manager Homebrew includes support for Linux, optional automatic package cleanup, and extended binary package support.
Linux support, merged from the Linuxbrew project, is still in beta and will become stable in version 2.0. This support also enables the use of Homebrew on Windows 10 systems with the Windows Subsystem for Linux installed.
Auto-cleanup is meant to optimize disk space occupation by removing all intermediate data that Homebrew generates when installing packages. This can be a significant amount when Homebrew actually builds the packages from sources instead of just installing binaries. Auto-cleanup is opt-in by setting the HOMEBREW_INSTALL_CLEANUP
. This behaviour will become opt-out in version 2.0, where you will be able to set the HOMEBREW_NO_INSTALL_CLEANUP
environment variable to disable auto-cleanup.
InfoQ has taken the chance to speak with project maintainer Mike McQuaid.
InfoQ: Homebrew 1.9 introduces beta support for Linux and Windows 10. What is the rationale for having Homebrew on those platforms? What kind of benefits does it bring and for which kind of users?
Mike McQuaid: We have had to run Homebrew on some Linux systems for our own usage for a while. Additionally, there has been a project named Linuxbrew that has officially supported running on Linux for a while too. We've been working more closely together recently and decided to merge the package manager part of the two projects. This will allow us to share effort and have a better quality codebase than either project would by itself.
Linuxbrew (the name that will still be used sometimes when referring to Homebrew on Linux) is particularly useful for users who have access to a Linux system but not the package manager on that system (e.g. HPC environments). As Homebrew (and therefore Linuxbrew) does not make use of root or
sudo
after installation, it allows package management from a home directory on a machine without root access.
InfoQ: What is key to Homebrew success with the user community, in your view?
McQuaid: Providing a tool that is simple to use, high quality and powerful. The community is incredibly important to us as we rely on them to help us fix bugs and maintain packages.
InfoQ: It's now almost ten years since Homebrew was born in 2009 and two since it hit version 1.0. How would you sum up Homebrew journey within the macOS user community?
McQuaid: Homebrew has gone from being a niche, different approach to macOS package manager to being a standard and respected package manager for multiple operating systems used by millions of users.
InfoQ: Could you unveil something exciting on Homebrew's roadmap?
McQuaid: Homebrew 2.0.0 will run
brew cleanup
automatically meaning that Homebrew will effectively manage it's space usage and cache without any user intervention required.
You can install Homebrew by executing:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew was written in 2009 by Max Howell, reaching version 1.0 in 2016. It is written in Ruby and uses a domain specific language to describe package dependencies using "formulae".