explaingit

homebrew/brew

📈 Trending48,066RubyAudience · developerComplexity · 2/5ActiveLicenseSetup · easy

TLDR

Package manager for macOS and Linux that installs, updates, and removes software from the command line with a single command.

Mindmap

mindmap
  root((repo))
    What it does
      Install software
      Manage dependencies
      Update packages
      Remove programs
    Key concepts
      Formulas
      Casks
      Taps
      Cellar
    Use cases
      Dev environment setup
      Install runtimes
      Terminal utilities
    Tech stack
      Ruby
      macOS
      Linux

Things people build with this

USE CASE 1

Set up a development environment on macOS by installing compilers, version managers, and build tools with one command.

USE CASE 2

Install and manage multiple versions of programming languages like Python, Node.js, or Ruby without manual downloads.

USE CASE 3

Keep all installed tools and libraries up to date across your machine with a single upgrade command.

USE CASE 4

Install native macOS applications like Firefox or VS Code alongside command-line tools in one unified system.

Tech stack

RubymacOSLinux

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you include the original copyright notice and license text.

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
How do I use Homebrew to install Python and set up a development environment on my Mac?
Prompt 2
Show me how to create a Homebrew formula to package my own command-line tool.
Prompt 3
What's the difference between a Homebrew formula and a cask, and when would I use each?
Prompt 4
How do I add a custom tap to Homebrew to install software from a third-party repository?
Prompt 5
Help me write a script that uses `brew install` to set up all the tools I need for web development.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.