Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

Latest commit

History

History
41 lines (28 loc) 路 1.77 KB

El_Capitan_and_Homebrew.md

File metadata and controls

41 lines (28 loc) 路 1.77 KB

El Capitan & Homebrew

Part of the OS X 10.11/El Capitan changes is something called System Integrity Protection or "SIP".

SIP prevents you from writing to many system directories such as /usr, /System & /bin, regardless of whether or not you are root. The Apple keynote is here if you'd like to learn more. As noted in the keynote, Apple is leaving /usr/local open for developers to use, so Homebrew can still be used as expected.

One of the implications of SIP was that you could not simply create /usr/local if you had removed it. This issue was fixed with the com.apple.pkg.SystemIntegrityProtectionConfig.14U2076 update.

If you haven't installed Homebrew in /usr/local or another system-protected directory, this document does not apply to you.

This is how to fix Homebrew on El Capitan if you see permission issues:

If /usr/local exists already:

sudo chown -R $(whoami):admin /usr/local

If /usr/local does not exist:

First, try to create /usr/local the normal way:

  sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local

If you see permission issues instead try:

  • Reboot into Recovery mode (Hold Cmd+R on boot) & access the Terminal.
  • In that terminal run: csrutil disable
  • Reboot back into OS X
  • Open your Terminal application and execute:
  sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local
  • Reboot back into Recovery Mode & access the Terminal again.
  • In that terminal execute: csrutil enable
  • Reboot back into OS X & you'll be able to write to /usr/local & install Homebrew.