
The refactor in 6e8f5d0958247e4b4d629866099ed2836a0e0863 means that the exception no longer exposes the name of the package with multiple versions, and as a result the rescuer is unable to print this information. Because we now have a path in which MultipleVersionsInstalledError doesn't have the name at all, we can't reasonably restore the old behaviour. And since rack resolution happens purely internal to the function that raises the exception, the caller has no way to know what name to use. However, since the exception text gets printed anyway, we can just move this text into the exception itself. Fixes the following error: ``` Error: mpd has multiple installed versions Error: undefined method `name' for #<MultipleVersionsInstalledError:0x00007fc6009d8870> /usr/local/Homebrew/Library/Homebrew/cmd/uninstall.rb:137:in `rescue in uninstall' /usr/local/Homebrew/Library/Homebrew/cmd/uninstall.rb:135:in `uninstall' /usr/local/Homebrew/Library/Homebrew/brew.rb:119:in `<main>' ```
Homebrew
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.
What Packages Are Available?
- 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.
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.
Contributing
We'd love you to contribute to Homebrew. First, please read our Contribution Guide and Code of Conduct.
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!
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 through GitHub Sponsors or Patreon.
Alternatively, if you'd rather make a one-off payment:
- Donate with PayPal
- Donate by USA $ check from a USA bank:
- Make check payable to "Software Freedom Conservancy, Inc." and place "Directed donation: Homebrew" in the memo field. Checks should then be mailed to:
- Software Freedom Conservancy, Inc. 137 Montague ST STE 380 BROOKLYN, NY 11201 USA
- Make check payable to "Software Freedom Conservancy, Inc." and place "Directed donation: Homebrew" in the memo field. Checks should then be mailed to:
- Donate by wire transfer: contact accounting@sfconservancy.org for wire transfer details.
Homebrew is a member of the Software Freedom Conservancy which provides us with an ability to receive tax-deductible, Homebrew earmarked donations (and many other services). Software Freedom Conservancy, Inc. is a 501(c)(3) organization incorporated in New York, and donations made to it are fully tax-deductible to the extent permitted by law.
Security
Please report security issues to our HackerOne.
Who We Are
Homebrew's Project Leader is Mike McQuaid.
Homebrew's Project Leadership Committee is Misty De Meo, Shaun Jackman, Jonathan Chang, Sean Molenaar and Markus Reiter.
Homebrew's Technical Steering Committee is Michka Popoff, FX Coudert, Markus Reiter, Misty De Meo and Mike McQuaid.
Homebrew/brew's Linux maintainers are Michka Popoff, Shaun Jackman, Dawid Dziurla, Issy Long and Maxim Belkin.
Homebrew's other current maintainers are Claudia Pellegrino, Zach Auten, Rui Chen, Vitor Galvao, Caleb Xu, Gautham Goli, Steven Peters, Bo Anderson, William Woodruff, Igor Kapkov, Sam Ford, Alexander Bayandin, Izaak Beekman, Eric Knibbe, Viktor Szakats, Thierry Moisan, Steven Peters, Tom Schoonjans, Issy Long, CoreCode, Randall, Rylan Polster, SeekingMeaning, William Ma and Dustin Rodrigues.
Former maintainers with significant contributions include Jan Viljanen, JCount, commitay, Dominyk Tiller, Tim Smith, Baptiste Fontaine, Xu Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, Jack Nagel, Adam Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor, Uladzislau Shablinski, Alyssa Ross, ilovezfs, Chongyu Zhu and Homebrew's creator: Max Howell.
Community
License
Code is under the BSD 2-clause "Simplified" License. Documentation is under the Creative Commons Attribution license.
Sponsors
Our macOS continuous integration infrastructure is hosted by MacStadium's Orka.
Our bottles (binary packages) are hosted by Bintray.
Secure password storage and syncing is provided by 1Password for Teams by AgileBits.
Homebrew is a member of the Software Freedom Conservancy.
Homebrew is generously supported by Randy Reddig and 271 users via GitHub Sponsors.