The Missing Package Manager for macOS (or Linux)

Homebrew is a package manager for macOS and Linux that aims to make it easy and straightforward for users to install the software they need. Package definitions are written in easy-to-read Ruby scripts, making it easy for the community to contribute changes and updates to packages. Homebrew primarily distributes binary packages.

Homebrew is divided into several projects.

  • Homebrew - The core package manager repository.
  • Homebrew Cask - A tool to automate management of macOS GUI installers using the commandline.
  • Homebrew-core - The package definitions used on macOS.
  • Linuxbrew-core - The package definitions used on Linux.
lightbulb_outline View ideas list


  • ruby
  • bash


comment IRC Channel
email Mailing list

Homebrew 2020 Projects

  • Vidushee Amoli
    Add support for type checking using Sorbet
    The majority of the code in Homebrew is written in Ruby which is a dynamic language. This means that types are checked when the code is run. My...
  • Nanda H Krishna
    Adding a livecheck Formula DSL and migrating Livecheckables to home-brew/core
    DSLs or domain-specific languages are written in order to serve a highly specific purpose. Currently, Homebrew has DSLs for various purposes, in...
  • rmnull
    replace shell `patchelf` and `readelf` with ruby equivalents
    Refactor keg, keg_relocate and elf.rb modules to use rbelftools and patchelf.rb instead of calling shell commands. Patchelf.rb is doesn't work well...