explaingit

homebrew/brew

Analysis updated 2026-06-20

47,883RubyAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

Homebrew is the standard package manager for macOS that lets you install developer tools, command-line utilities, and programming languages with a single command, and it also works on Linux.

Mindmap

mindmap
  root((repo))
    What it does
      Install software via CLI
      Resolve dependencies
      Update and remove tools
    Key concepts
      Formula for CLI tools
      Cask for GUI apps
      Tap for extra repos
      Cellar storage
    Audience
      macOS developers
      Linux users
      DevOps engineers
    Tech stack
      Ruby
      macOS and Linux
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Set up a complete development environment on a new Mac by installing Git, Node.js, Python, and databases with a single command each.

USE CASE 2

Install and manage macOS GUI applications like Firefox or VS Code alongside command-line tools from the same package manager using casks.

USE CASE 3

Keep all developer tools consistent across a team by sharing a Brewfile that lists every required package.

What is it built with?

RubyBash

How does it compare?

homebrew/brewdiscourse/discoursehuginn/huginn
Stars47,88346,96849,244
LanguageRubyRubyRuby
Setup difficultyeasyhardhard
Complexity2/54/54/5
Audiencedeveloperpm founderops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial use, just keep the copyright notice and don't use the project's name to endorse other products.

In plain English

Homebrew is a package manager for macOS and Linux. A package manager is a tool that lets you install, update, and remove software from the command line instead of manually downloading installers and dragging apps around. On Linux, most distributions come with a built-in package manager (like apt or yum), but macOS does not ship with one. Homebrew fills that gap. With a single command, brew install <name>, you can install developer tools, command-line utilities, programming languages, databases, and many other programs. Homebrew downloads the software, resolves dependencies (other programs or libraries the tool requires), and places everything in a consistent location on your machine. When updates are released, brew upgrade brings everything up to date. If you no longer need something, brew uninstall removes it cleanly. Homebrew uses its own vocabulary. A \"formula\" is a recipe for a command-line tool or library (like curl, git, or Python). A \"cask\" extends the system to handle native macOS applications with graphical interfaces (like Firefox or VS Code). A \"tap\" is an additional repository of formulas beyond the default set. The \"cellar\" is where installed packages are stored. You would use Homebrew any time you need developer tools on macOS and want to manage them consistently, setting up a development environment, installing language runtimes, or adding utilities you use in the terminal. It also runs on Linux as an alternative to system-level package managers. The project is written in Ruby, maintained by volunteers as a non-profit, and licensed under a BSD 2-clause license. It is one of the most widely used open-source tools in the macOS development community.

Copy-paste prompts

Prompt 1
I just got a new Mac. Write a Brewfile that uses Homebrew to install git, node, python3, postgresql, and VS Code.
Prompt 2
Using Homebrew, show me how to install a specific older version of Node.js and switch between two Node versions on the same machine.
Prompt 3
I want to contribute a new formula to Homebrew. Walk me through creating, testing, and submitting a formula for a command-line Go tool.

Frequently asked questions

What is brew?

Homebrew is the standard package manager for macOS that lets you install developer tools, command-line utilities, and programming languages with a single command, and it also works on Linux.

What language is brew written in?

Mainly Ruby. The stack also includes Ruby, Bash.

What license does brew use?

Use freely for any purpose including commercial use, just keep the copyright notice and don't use the project's name to endorse other products.

How hard is brew to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is brew for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub homebrew on gitmyhub

Verify against the repo before relying on details.