Today I’d like to announce Homebrew 2.0.0. The most significant changes since 1.9.0 are official support for Linux and Windows 10 (with Windows Subsystem for Linux),
brew cleanup
running automatically, no more options in Homebrew/homebrew-core, and removal of support for OS X Mountain Lion (10.8) and older.Major changes and deprecations since 1.9.0:
- Homebrew officially supports Linux and Windows 10 with Windows Subsystem for Linux (WSL). Homebrew on Linux was previously called “Linuxbrew”. You can install it in your home directory, so it does not require
sudo
, and use it to install software that your host distribution’s package manager does not provide. Homebrew on Linux uses its own repository for formulae: Homebrew/linuxbrew-core brew cleanup
is run periodically (every 30 days) and triggers for individual formula cleanup on reinstall, install or upgrade. You can opt-out of this behaviour by setting theHOMEBREW_NO_INSTALL_CLEANUP
variable. This addresses a long-standing complaint where users were surprised by how much disk space Homebrew used if they did not runbrew cleanup
.- Homebrew does not run on OS X Mountain Lion (10.8) and below. For 10.4 - 10.6 support, see Tigerbrew. This has allowed us to remove large amounts of legacy code.
- Homebrew does not migrate old, pre-1.0.0 installations from the Homebrew/legacy-homebrew (formerly Homebrew/homebrew repository. This has allowed us to delete legacy code that dealt with migrations from old versions.
- Homebrew does not have any formulae with options in Homebrew/homebrew-core. Options will still be supported and encouraged by third-party taps. This change allows us to better focus on delivering binary packages rather than options. Formulae with options had to be built from source, could not be tested on our CI system and provided a disproportionate support burden on our volunteer maintainers.
- Advanced Mac users may appreciate using the Homebrew package manager, which greatly simplifies the process of installing command line software and tools on a Mac. For example, if you want to easily install favorite command line tools on a Mac like cask, htop, wget, nmap, tree, irssi, links.
- You can install Xcode, the CLT, or both; Homebrew supports all three configurations. Downloading Xcode may require an Apple Developer account on older versions of Mac OS X. Sign up for free here. 4 The one-liner installation method found on brew.sh requires a Bourne-compatible shell (e.g. Bash or zsh). Notably, fish, tcsh and csh will not work.
Homebrew is package manager for Macs which makes installing lots of different software like Git, Ruby, and Node simpler. Publisher for mac. Code blocks for mac. Homebrew lets you avoid possible security problems associated with using the sudo command to install software like Node.
Other changes since 1.9.0 I’d like to highlight are the following:
- Homebrew uses a proper option parser to generate the
man brew
and--help
. Also, Homebrew no longer silently ignores invalid options to formulae or commands. This change will provide better feedback to users and allow making our argument handling more simple and robust. brew install
does not try tolink
formulae that already have a cask with the same name installed. This change avoids link errors in these cases.- Analytics data is now available for Cask installs on formulae.brew.sh.
Also, if you’ve not tuned in since 1.0.0, here are the major changes since then:
- Rubocop-supporting editors (e.g. VS Code, Atom) can get inline
brew audit
information when editing formulae in taps. This improves the contribution experience. - A
brew tap-new
command is available for creating a new tap with aREADME
and preconfigured Azure Pipelines configuration (which seems to provide the most reliable and performant macOS CI for OSS at the time of writing). This eases the creation of taps (third-party repositories). brew update-reset
resets all repositories and taps to their upstream versions. This is useful when debugginggit
issues.brew link
state is preserved afterbrew install
andbrew upgrade
(including for keg-only formulae) but unfortunately not thebrew unlink
state due to a lack of state. This should allow many keg-only formulae to be used as if they are normal formulae.- Homebrew filters all user environment variables. This reduces errors when formulae are built from source and allows the removal of many workarounds for niche issues.
brew postgresql-upgrade-database
upgrades PostgreSQL database data between major versions. This simplifies upgrades between PostgreSQL versions which previously required a semi-manual process and old version of PostgreSQL to be kept around.- The
python
formula was upgraded to Python 3.x andpython@2
formula was added for installing Python 2.7. We initially did not comply with PEP 394 and this was a mistake. We madebrew install python
andbrew install python@2
PEP 394 compliant and will not change this again until PEP 394 has changed. This allows us to migrate more of our ecosystem to Python 3. - We deprecated and archived all the Homebrew organisation taps and created new and versioned formulae in Homebrew/homebrew-core. We encourage more niche formulae and formula options to be supported in taps outside the Homebrew organisation. This allows us to focus on providing high-quality formulae that work consistently rather than a long-tail of broken, unsupported, ignored formulae.
- Homebrew Formulae is a site providing formulae data, anonymous aggregate analytics data and a JSON API querying these. This allows you to quickly query Homebrew information without access to macOS or Homebrew.
- In July 2018 a security researcher identified a GitHub personal access token leak from Homebrew’s Jenkins. Within a few hours the credentials had been revoked and sanitised. No packages were compromised and no action was required by users due to this incident. We are currently attempting to migrate away from Jenkins to a suitable hosted CI provider.
- When a bottle isn’t available for your version of macOS we will use a bottle from an older version instead. This will make life much more pleasant on new macOS releases before our bottling has completed (or when formulae fail to build).
brew upgrade
automatically reinstalls or upgrades formulae with broken linkage. This avoids broken formulae when building from source or using optional behaviour after upgrades.brew info
displays analytics data. This is the way that Homebrew maintainers query analytics data so we are using the same data as the community. This will hopefully ease concerns about our collection of analytics data.- Homebrew Cask’s downloads are quarantined. This provides the same level of security when downloading these tools manually.
- Homebrew/homebrew-core requires all formulae to be open source by the OSI definition. This allows you to be confident that any
brew install
(although notbrew cask install
) from Homebrew/homebrew-core is open source software. brew link --force
will not link software already provided by macOS but instead output the instructions on how to do so. This avoids strange compilation errors and encourages users to use the system mechanisms for adjusting theirPATH
.
Finally:
- Many Homebrew maintainers will be attending FOSDEM 2019 (say hello!) and meeting afterwards on 4th February to discuss the future governance of Homebrew.
- Homebrew still accepts donations through Patreon. If you can afford it, please consider donating. If you’d rather not use Patreon (our preferred donation method), check out the other ways to donate in our README.
Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far. Enjoy using Homebrew!
Installing Homebrew on Mac OS X prior to El Capitan (that is Yosemite, Mavericks and others) used to be a breeze. But with a new change in OS X El Capitan called SIP - installing Homebrew has become a bit complicated.
You need not worry, I have got you covered.
There are two parts to this tutorial. If you want to uninstall or delete Homebrew first and then re-install it on El Capitan then follow Part 2 of this tutorial below. However, if you are doing a fresh installation of El Capitan then follow the steps outlined in Part 1 of this tutorial.
Happy Brewing!
Part 1: How to install fresh copy of Homebrew in OS X El Capitan
Step 1 - Install XCode by downloading it from here. This is needed for installing the XCode command line tools which in turn is needed by Homebrew. You might skip this step if you already have XCode installed.
Quick Note - If you already have XCode installed then go to STep 2. Also, You can skip this step and jump to Step 3 instead and see if the Homebrew installer complains about XCode command line tools. If it does, then come back to this step and continue.
Step 2 - Install Command Line tools by running the following command in terminal:
Step 3 - Now, you need to get a fresh copy of Homebrew and then run the install script. You can perform both these tasks using this one command in the terminal app:
If it complains about permission issues, then you have to fix it before you can continue. This is an additional thing that you need to do in Mac OS X El Capitan because Apple introduced this new feature called System Integrity Protector. Here is a guide to how you can fix this permission issue with Homebrew on OS X El Capitan.
After you have fixed the permission issue, re-run the command above in the terminal to begin the Homebrew installation process.
Step 4 - Run the Brew Doctor utility to check for issues or warnings in the terminal
brew doctor
If it shows errors, then you need to fix them before you can continue. You might, however, skip any warnings that the doctor tool shows.
Homebrew For Mac Review
All the apps and libraries that you install using Homebrew are located in this folder: /usr/local/Cellar
After Homebrew is installed, you can use some of the following commands to perform different tasks with it:
- You can search for an application using: brew search
- You can install a new application using: brew install <application-name>
- In order to list all apps installed by Homebrew, you can use: brew list
- For removing an app installed via Homebrew: brew remove <application-name>
- Homebrew can be updated using: brew update
- man brew will show other switches and command options for Homebrew.
Part 2: How to uninstall and re-install Homebrew in OS X El Capitan
Step 1 - First you will have to delete the Cellar folder of Homebrew that is usually available in the /usr/local folder. To do this, you need to run the following command in the terminal:
![Install Install](/uploads/1/3/4/3/134334174/718878666.jpg)
rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
Please note - If the above command throws a permissions error then you need to read this article to fix the Homebrew permissions in OS X El Capitan.
Step 2 - Install Xcode & XCode command line tools. This is an optional step but for many users, installing the tools mentioned in this step is mandatory. So in order to check, if you have to really perform this step, what you can do is quickly skip to Step 3 and run the command mentioned on that step - if you see success then you can safely skip this step, else continue here:
First download and install Xcode from this link - https://itunes.apple.com/au/app/xcode/id497799835?mt=12
Next, install Xcode command line tools by running the following command in your terminal:
If it complains about permissions, then use sudo and run the same command again.
Download Homebrew For Mac
Step 3 - Now that you have a cleaned-up Brew data folder, you need to fetch a fresh copy of Homebrew and start the installation process by running this command in the terminal:
You might be prompted for your root password and when that happens, enter the password and continue. You can find some sample output towards the end of this post.
What Is Homebrew For Mac
Step 4 - After the installation completes, you should run the doctor utility on brew to see if there were any issues with the Homebrew installation. This can be done by running the following command:
brew doctor
If it returns any error, try fixing them. If you see just warnings then you could ignore them.
At this point you have succesfully installed Homebrew on El Capitan and you can use the commands mentioned above to perform various operations.
Homebrew For Mac Os X
Some sample Outputs: