Versioned formulae we include in homebrew/core must meet the following standards:
opensslthen you must instead use
keg_only :versioned_formulato allow users to have multiple versions installed at once.
keg_only :versioned_formulashould not
post_installanything in the
HOMEBREW_PREFIXthat conflicts with or duplicates the non-versioned counterpart (or other versioned formulae). For example, a
node@6formula should not install its
resources that require security updates. For example, a
node@6formula should not have an
npmresource but instead rely on the
npmprovided by the upstream tarball.
Homebrew’s versions are not intended to be used for any old versions you personally require for your project. You should create your own tap for formulae you or your organisation wish to control the versioning of or those that do not meet the above standards. Software that has regular API or ABI breaking releases still needs to meet all the above requirements; that a
brew upgrade has broken something for you is not an argument for us to add and maintain a formula for you.
If there is a formula that currently exists in the Homebrew/homebrew-core repository or has existed in the past (i.e. was migrated or deleted), you can recover it for your own use with the
brew extract command. This will copy the desired version of the formula into a custom tap. For example, if your project depends on
automake 1.12 instead of the most recent version, you can obtain the
automake formula at version 1.12 by running
brew extract automake $YOUR_GITHUB_USER/$YOUR_TAP_REPOSITORY_NAME --version=1.12. Formulae obtained this way may have use deprecated, disabled or removed Homebrew syntax (e.g. checksums may have
sha1 checksums instead of
brew extract command does not edit or update formulae to meet current standards and style requirements.
We may temporarily add versioned formulae for our own needs that do not meet these standards in homebrew/core. The presence of a versioned formula there does not imply it will be maintained indefinitely or that we are willing to accept any more versions that do not meet the requirements above.