can't chown /usr/local for homebrew in Mac OS X 10.13 High Sierra
PermissionsHomebrewPermissions Problem Overview
Homebrew needs permissions in /usr/local and since no one else uses my laptop I have always simply done
sudo chown -R $(whoami) $(brew --prefix)
but in High Sierra, this gives
chown: /usr/local: Operation not permitted
What is the fix?
Permissions Solutions
Solution 1 - Permissions
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)"
Solution 2 - Permissions
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!
Solution 3 - Permissions
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/*
Solution 4 - Permissions
I followed https://stackoverflow.com/a/46459153/4502723">this</a> but the problem still persist.
So, I reinstalled homebrew without uninstalling previous one. It's working now!
(I don't know how)
Solution 5 - Permissions
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)"
Solution 6 - Permissions
I am using MacBook Pro macOS Catalina 10.15.4.
I created a new admin account
but the brew was throwing an error.
Hence, I followed a step from this post, what worked is:
sudo chown -R $(whoami) $(brew --prefix)/*
Solution 7 - Permissions
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.
Solution 8 - Permissions
if you are using zsh
because you come from bash you might have to change your $PATH.
you should add export PATH=$HOME/bin:/usr/local/bin:$PATH
in .zshrc
then it should work, this problem resolved in my mac by this way.
Solution 9 - Permissions
I'm also on 10.13 High Sierra. I tried the previous suggestions; nothing worked. Eventually I tried installing the command-line tools first:
xcode-select --install
and then afterwards (re-)ran the brew install command:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
and it finally worked.
Solution 10 - Permissions
Make sure you don't have a lock set on the home folder or any folder an install needs access to.
Even if the permissions and ownership are set correctly and you are currently logged in with a correct user/or Root user it will not allow you to make new folders or directories.
Solution 11 - Permissions
I did not have the /user/local/Frameworks folder, so this fixed it for me
sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks
I have OSX High Sierra