Linuxbrew is a fork of Homebrew, the macOS package manager, for Linux.
It can be installed in your home directory and does not require root access. The same package manager can be used on both your Linux server and your Mac laptop. Installing a modern version of glibc and gcc in your home directory on an old distribution of Linux takes five minutes.
Features, usage and installation instructions are summarised on the homepage. Terminology (e.g. the difference between a Cellar, Tap, Cask and so forth) is explained here.
To receive updates of major changes to Linuxbrew subscribe to the Linuxbrew Updates issue on GitHub.
The installation script installs Linuxbrew to /home/linuxbrew/.linuxbrew
if possible and in your home directory at ~/.linuxbrew
otherwise.
Paste at a Terminal prompt:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
Follow the Next steps instructions to add Linuxbrew to your PATH
and to your bash shell profile script, either ~/.profile
on Debian/Ubuntu or ~/.bash_profile
on CentOS/Fedora/RedHat.
test -d ~/.linuxbrew && PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH"
test -d /home/linuxbrew/.linuxbrew && PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH"
test -r ~/.bash_profile && echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.bash_profile
echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.profile
You're done! Try installing a package:
brew install hello
If you're using an older distribution of Linux, installing your first package will also install a recent version of gcc
.
Use brew doctor
to troubleshoot common issues.
- Can install software to a home directory and so does not require sudo
- Install software not packaged by the native distribution
- Install up-to-date versions of software when the native distribution is old
- Use the same package manager to manage both your Mac and Linux machines
- GCC 4.4 or newer
- Linux 2.6.16 or newer
- 64-bit x86 or 32-bit ARM (Raspberry Pi)
Paste at a Terminal prompt:
sudo apt-get install build-essential curl file git
sudo dnf groupinstall 'Development Tools' && sudo dnf install curl file git
sudo yum groupinstall 'Development Tools' && sudo yum install curl file git
Linuxbrew does not currently support 32-bit x86 platforms. It would be possible for Linuxbrew to work on 32-bit x86 platforms with some effort. Pull requests would be welcome if someone were to volunteer to maintain the 32-bit x86 support.
Bottles are Linuxbrew's precompiled binary packages. Linuxbrew bottles work on any Linux system. They do however require glibc
2.19 or better. On systems with an older version of glibc
, Linuxbrew will install glibc
the first time that you install a bottled formula. If you prefer to use the glibc
provided by your system and build all formulas from source, add to your .bashrc
or .zshrc
:
export HOMEBREW_BUILD_FROM_SOURCE=1
Extract (or git clone
) Linuxbrew wherever you want. Use /home/linuxbrew/.linuxbrew
if possible.
git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew
PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$(brew --prefix)/share/man:$MANPATH"
export INFOPATH="$(brew --prefix)/share/info:$INFOPATH"
- Type
brew search
for a list. - Or visit formulae.brew.sh to browse packages online.
- Or use
brew search --desc <keyword>
to browse packages from the command line.
brew help
, man brew
or check our documentation.
First, please run brew update
and brew doctor
.
Second, read the Troubleshooting Checklist.
If you don't read these it will take us far longer to help you with your problem.
We'd love you to contribute to Linuxbrew. First, please read our Contribution Guide and Code of Conduct. Please see our guidelines on whether to send pull requests to Linuxbrew or Homebrew.
We explicitly welcome contributions from people who have never contributed to open-source before: we were all beginners once! We can help build on a partially working pull request with the aim of getting it merged. We are also actively seeking to diversify our contributors and especially welcome contributions from women from all backgrounds and people of colour.
A good starting point for contributing is running brew audit --strict
with some of the packages you use (e.g. brew audit --strict wget
if you use wget
) and then read through the warnings, try to fix them until brew audit --strict
shows no results and submit a pull request. If no formulae you use have warnings you can run brew audit --strict
without arguments to have it run on all packages and pick one.
Alternatively, for something more substantial, check out one of the issues labeled help wanted
in Homebrew/brew or Homebrew/homebrew-core.
Good luck!
Please report security issues to our HackerOne.
Linuxbrew's lead maintainer is Shaun Jackman.
Linuxbrew/homebrew-core's lead maintainer is Michka Popoff.
Linuxbrew's other current maintainers are Piotr Gaczkowski, Maxim Belkin, Jonathan Chang, and Alyssa Ross.
Linuxbrew/homebrew-core's other current maintainers are Shaun Jackman.
Former maintainers with significant contributions include Bob W. Hogg.
Code is under the BSD 2-clause "Simplified" License. Documentation is under the Creative Commons Attribution license.
Linuxbrew is a non-profit project run entirely by unpaid volunteers. We need your funds to pay for continuous integration and the computer resources used to build precompiled binary bottles of your favourite formulae. Every donation will be spent on making Linuxbrew better for our users.
Please consider donating regularly to Linuxbrew through Patreon. We appreciate your support and contribution, no matter the level.
Linuxbrew is a fork of Homebrew, the macOS package manager, for Linux. Please consider donating to Homebrew as well if you use Homebrew on macOS.
Our bottles (binary packages) are built on CircleCI.
Our bottles (binary packages) are hosted by Bintray.