🍺🐧 The Homebrew package manager for Linux
Ruby Shell Groff Other
Pull request Compare This branch is 691 commits ahead, 77 commits behind Homebrew:master.
Latest commit db94374 Jan 11, 2017 okhowang committed with sjackman determine_cxx: Return c++ for cc
Closes Linuxbrew/brew#227.

Signed-off-by: Shaun Jackman <sjackman@gmail.com>

README.md

Linuxbrew logo

Linuxbrew

Linuxbrew is a fork of Homebrew, the Mac OS 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.

Install Linuxbrew (tl;dr)

Paste at a Terminal prompt:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"
PATH="$HOME/.linuxbrew/bin:$PATH"

Edit your ~/.bash_profile to add ~/.linuxbrew/bin to your PATH:

echo 'export PATH="$HOME/.linuxbrew/bin:$PATH"' >>~/.bash_profile

You're done! Try installing a package:

brew install hello

Use brew doctor to troubleshoot common issues.

See Dependencies and Installation below for more details.

Features

  • 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

Dependencies

  • Ruby 1.8.6 or newer
  • 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:

Debian or Ubuntu

sudo apt-get install build-essential curl git python-setuptools ruby

Fedora, CentOS or Red Hat

sudo yum groupinstall 'Development Tools' && sudo yum install curl git irb python-setuptools ruby

32-bit x86 platforms

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

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

Installation

Paste at a Terminal prompt:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

Or if you prefer:

git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew

Add to your .bashrc or .zshrc:

export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"

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.

Update Bug

If Homebrew was updated on Aug 10-11th 2016 and brew update always says Already up-to-date. you need to run:

cd "$(brew --repo)" && git fetch && git reset --hard origin/master && brew update

What Packages Are Available?

  1. Type brew search for a list.
  2. Or visit braumeister.org to browse packages online.
  3. Or use brew search --desc <keyword> to browse packages from the command line.

More Documentation

brew help, man brew or check our documentation.

Troubleshooting

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.

Something broke!

Many of the Homebrew formulae work on either Mac or Linux without changes, but some formulae will need to be adapted for Linux. If a formula doesn't work, open an issue on GitHub or, even better, submit a pull request.

Contributing

We'd love you to contribute to Linuxbrew or its upstream project, Homebrew. 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 (or brew audit --strict) with some of the packages you use (e.g. brew audit wget if you use wget) and then read through the warnings, try to fix them until brew audit shows no results and submit a pull request. If no formulae you use have warnings you can run brew audit without arguments to have it run on all packages and pick one. Good luck!

Security

Please report security issues to security@brew.sh.

This is our PGP key which is valid until May 24, 2017.

Who Are You?

Linuxbrew is maintained by Shaun Jackman, Bob W. Hogg, Piotr Gaczkowski and Maxim Belkin.

Homebrew's lead maintainer is Mike McQuaid.

Homebrew's current maintainers are Misty De Meo, Andrew Janke, Xu Cheng, Tomasz Pajor, Josh Hagins, Baptiste Fontaine, Markus Reiter, ilovezfs, Martin Afanasjew, Tom Schoonjans, Uladzislau Shablinski, Tim Smith and Alex Dunn.

Former maintainers with significant contributions include Dominyk Tiller, Brett Koonce, Jack Nagel, Adam Vandenberg and Homebrew's creator: Max Howell.

License

Code is under the BSD 2-clause "Simplified" License. Documentation is under the Creative Commons Attribution license.

Donations

Homebrew is a non-profit project run entirely by unpaid volunteers. We need your funds to pay for software, hardware and hosting around continuous integration and future improvements to the project. Every donation will be spent on making Homebrew better for our users.

Please consider a regular donation to Homebrew, the upstream project of Linuxbrew, through Patreon:

Donate with Patreon

Sponsors

Our CI infrastructure was paid for by our Kickstarter supporters.

Our CI infrastructure is hosted by The Positive Internet Company.

Our bottles (binary packages) are hosted by Bintray.

Downloads by Bintray

Secure password storage and syncing provided by 1Password for Teams by AgileBits

AgileBits

Homebrew is a member of the Software Freedom Conservancy

Software Freedom Conservancy