Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

can't chown /usr/local for homebrew in Mac OS X 10.13 High Sierra

The problem kept occurring... after digging deeper I found that only uninstalling Homebrew and then re-installing it solved this issue.

Uninstalling will remove all your brew packages, you can save the output of brew list in a file first, to have a record of what packages were installed.

Uninstall Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Then re-install it:

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

Unfortunately you can no longer chown /usr/local in High Sierra. A workaround is to sudo mkdir /usr/local/include and /usr/local/Frameworks if they don't exist, and

sudo chown -R $(whoami) $(brew --prefix)/*

Thanks to ilovezfs for this simple workaround and for the amazing homebrew!


You can not change permission for /usr/local itself , but you can change the right permission for folders underneath , so this fixed the
sudo chown -R $(whoami) /usr/local/*


I followed this but the problem still persist.
So, I reinstalled homebrew without uninstalling previous one. It's working now!
(I don't know how)


I just run this and everything gets taken care on high sierra:

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


Try disabling System Integrity Protection. From the documentation:

System Integrity Protection can be configured using the csrutil(1) command.

You can check whether System Integrity Protection is currently enabled on your system by running the following command in the Terminal:

$ csrutil status
System Integrity Protection status: enabled.

To enable or disable System Integrity Protection, you must boot to Recovery OS and run the csrutil(1) command from the Terminal.

Boot to Recovery OS by restarting your machine and holding down the Command and R keys at startup. Launch Terminal from the Utilities menu. Enter the following command: $ csrutil enable

After enabling or disabling System Integrity Protection on a machine, a reboot is required.