Brew Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Formula

A formula is a package definition written in Ruby. Homebrew comes with a good amount of existing formulae, and they are stored as Ruby files in the default tap named "homebrew": /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/<package-name>.rb.

New formulae can be can be created. Instructions are available here: https://docs.brew.sh/Formula-Cookbook. The sequence is:

brew create <URL> 

where <URL> is a zip or tar file, installed with

brew install <formula>

and debugged with:

brew install --debug --verbose <formula>

Formula API: http://www.rubydoc.info/github/Homebrew/brew/master/Formula

Common Formulate

bash

/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/bash.rb

Tap

A tap is a Git repository of formulae and other commands.

Keg

A keg is the installation prefix of a formula, and it can be logically thought of as an installed application (name + version). The corresponding directories are stored in cellar.

Example:

/usr/local/Cellar/foo/0.1

Cellar

The directory where all kegs are stored:

/usr/local/Cellar

Bottle

Cask

User Space vs. System Space