brew update fails with "Permission denied" error - macos

I have been trying to upgrade my brew installation on Mac and it always fails with the following error:
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied # dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied # dir_s_mkdir - /usr/local/Frameworks
I do not want to run brew as sudo, but is there a way to fix this error? I'm not able to install Python3 which is my ultimate goal. Is there another way to install Pythion3 on Mc other than brew? Is there any resolution for this problem here?
EDIT: I tried to remove python3 and tried to re install it again and this time it fails with some other message:
==> Pouring python-3.6.5.high_sierra.bottle.1.tar.gz
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied # dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied # dir_s_mkdir - /usr/local/Frameworks

Try to change owner of /usr/local.
if you use macOS High Sierra or higher try this command:
sudo chown -R $(whoami) $(brew --prefix)/*
if you use macOS Sierra or lower:
sudo chown -R $(whoami) /usr/local

In Mac OSX Mojave, installing Python3, I solved this issue by the following:
sudo mkdir /usr/local/Frameworks
sudo chown -R user:group /usr/local/Frameworks/
brew link python
Where user and group are specified as set by the OS. You can find out what user/group values should be by doing:
ls -al /usr/local
And then python3 was successfully installed:
> python3
Python 3.7.2 (default, Feb 12 2019, 08:15:36)
[.Clang 10.0.0 (clang-1000.11.45.5)] on darwin

Related

I can't uninstall brew on MacOS Apple Silicon

Like it is mentioned here https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew I typed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" but it doesn't seem to work...
When I type afterwards which brew it returns /usr/local/bin/brew
and when I type again /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
It displays :
/bin/bash: line 236: /opt/homebrew/bin/brew: No such file or directory
Failed to locate Homebrew!
So I don't know what to do to uninstall brew.
My ultimate goal is to not getting this error when I try to install a brew package :
Error: Cannot install in Homebrew on ARM processor in Intel default
prefix (/usr/local)! Please create a new installation in /opt/homebrew
using one of the "Alternative Installs" from:
https://docs.brew.sh/Installation You can migrate your previously
installed formula list with: brew bundle dump
I now have a Mac with Apple Silicon but I used to have a Intel Mac.
EDIT 1 : I took a quick look at the uninstall.sh script here https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh
It seems that my problem is induced by my os installation because I did it from an Intel-based MacOS time machine backup. The problem is the uninstall.sh script is programed to uninstall homebrew according to the current os. So this script can only uninstall the ARM homebrew that I need and can't uninstall the Intel homebrew I try to get rid of...
Maybe I should try to just change the line of code that detect I have a ARM CPU to make the script think I have a Intel-based Mac but I don't know if it could bring chaos in my computer...
I'm surprised there's not a lot of answers about this problem since I don't think I'm the only one to have switched from Intel-based Mac to ARM-based Mac with Time Machine.
EDIT 2 : I tried to uninstall Homebrew with a command of my own arch -x86_64 ./uninstall_brew.sh (I have no idea if it's not DANGEROUS) but I don't know if it worked well...
Here is the output of the command :
user#MacBook-Pro % arch -x86_64 ./uninstall_brew.sh
Warning: This script will remove:
/Users/user/Library/Caches/Homebrew/
/usr/local/Caskroom/
/usr/local/Cellar/
/usr/local/bin/brew -> /usr/local/bin/brew
Are you sure you want to uninstall Homebrew? This will remove your installed packages! [y/N] y
==> Removing Homebrew installation...
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
/usr/local/share/info/dir: Permission denied
Warning: Failed to delete /usr/local/Caskroom
rm: /usr/local/Caskroom: Permission denied
Warning: Failed to delete /usr/local/Cellar
rm: /usr/local/Cellar: Permission denied
==> Removing empty directories...
Password:
==> /usr/bin/sudo /usr/bin/find /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/var /usr/local/Caskroom /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks -name .DS_Store -delete
==> /usr/bin/sudo /usr/bin/find /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/var /usr/local/Caskroom /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks -depth -type d -empty -exec rmdir {} ;
==> Homebrew uninstalled!
The following possible Homebrew files were not deleted:
/usr/local/.com.apple.installer.keep
/usr/local/Frameworks/
/usr/local/Homebrew/
/usr/local/bin/
/usr/local/etc/
/usr/local/git/
/usr/local/include/
/usr/local/lib/
/usr/local/man/
/usr/local/opt/
/usr/local/remotedesktop/
/usr/local/sbin/
/usr/local/share/
/usr/local/var/
You may wish to remove them yourself.
Try running: PATH=/usr/local/bin:$PATH arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
Found the answer here: https://github.com/Homebrew/discussions/discussions/3437
I encounter similar issue on my M1 MBP, and I found that changing the uninstall path in the script may work.
First, I download a local copy of the uninstalling script
curl -O https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh
Then run the script locally and set the path to /user/local(which is the default path of homebrew on intel Mac)
/bin/bash uninstall.sh --path=/usr/local
but it completed with 2 warnings I'm not sure what they are
Warning: Failed during: /usr/bin/sudo rmdir /usr/local
Warning: Homebrew partially uninstalled (but there were steps that failed)!
To finish uninstalling rerun this script with `sudo`.
The following possible Homebrew files were not deleted:
/usr/local/Cellar/
/usr/local/Frameworks/
/usr/local/Homebrew/
/usr/local/bin/
/usr/local/etc/
/usr/local/include/
/usr/local/lib/
/usr/local/opt/
/usr/local/sbin/
/usr/local/share/
/usr/local/texlive/
/usr/local/var/
You may wish to remove them yourself.
Either way, I delete those files manually.
(This is my first time to answer something on stack overflow. Hope this help!)

Cannot install homebrew packages because permission is denied

When I run brew install {package}, I get the following:
ln: /usr/local/bin/{package}: Permission denied
But if I try to use sudo brew install {package}, I get the following:
Error: Running Homebrew as root is extremely dangerous and no longer supported.
How do I get homebrew working again?
You can fix permissions for Homebrew by running:
cd /usr/local && sudo chown -R $(whoami) bin etc include lib sbin share var Frameworks
See this answer for details: https://stackoverflow.com/a/44208097/1807667

Chown failure on Mac when attempting to install mobile device drivers for Appium via homebrew

After Appium did not recognize uid, I tried installing it with this command:
brew install libimobiledevice --HEAD
That gave me the following error:
Error: /usr/local/Homebrew is not writable. You should change the
ownership and permissions of /usr/local/Homebrew back to your
user account:
sudo chown -R $(whoami) /usr/local/Homebrew
Error: Permission denied # rb_sysopen - >
/usr/local/var/homebrew/locks/libimobiledevice.formula.lock
So, i copypastad and ran that chown command. It does not complain and seems to run. But, when I run the first command again, I still get the same error message.
Could someone help me resolve this?
edit:
I ran this command:
ls -ld /usr/local/Homebrew
This was the output:
drwxr-xr-x 17 1791192515 wheel 544 Mar 2 12:08 /usr/local/Homebrew
I ran this command:
ls -l /usr/local/var/homebrew/locks/libimobiledevice.formula.lock
This was the output:
No such file or directory
these are the steps I took to solve this problem
sudo chown -R "$USER":admin /usr/local
then:
sudo chown -R "$USER":admin /Library/Caches/Homebrew
then:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Before trying again to run:
brew install libimobiledevice --HEAD

Installing Scala's compiler, sbt, on a Mac gives me a permission error

I tried to install Scala compiler, sbt, on a Mac OS. But I got a permission error. Any idea?
mac610881:~ $ brew install sbt
==> Downloading https://github.com/sbt/sbt/releases/download/v1.0.3/sbt-1.0.3.tg
Already downloaded: /Users/.../Library/Caches/Homebrew/sbt-1.0.3.tgz
Error: Permission denied # rb_file_s_rename - (conf/sbtopts, /usr/local/etc/sbtopts)
Following the comment of Jorg W Mittag, I solved this issue using
sudo chown -R $(whoami) /usr/local/etc

Install git via homebrew on mac osx 10.10 results in: Error: Permission denied - /usr/local/lib/perl5/site_perl/5.18.2

Hi I just tried installing git via homebrew on my mac - something is wrong. I had the github for mac app installed, but I tried removing that. The current git version in my system is:
Nielsk#~: $ git --version
git version 1.9.3 (Apple Git-50)
This is what happens if I try to install git via homebrew:
Nielsk#~: $ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.1.3.y
######################################################################## 100,0%
==> Pouring git-2.1.3.yosemite.bottle.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
/usr/local/bin/git-credential-osxkeychain
The 'contrib' directory has been installed to:
/usr/local/share/git-core/contrib
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completion has been installed to:
/usr/local/share/zsh/site-functions
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied - /usr/local/lib/perl5/site_perl/5.18.2
Error: Permission denied - /usr/local/lib/perl5/site_perl/5.18.2
How can I solve this?
I also met the same issue. I think we should change the readable permission to make sure any of the directories is readable by "all". So I tried the command: sudo chown -R $USER:admin /usr/local
and then: brew link --overwrite git It works for me, hope it will also work for you.
From High Sierra, chown of /usr/local is not allowed. However you can still change permission the sub directories in /usr/local.
In my case, I had to create Frameworks in /usr/local and sudo chown -R $(whom) Frameworks. After that follow what brew doctor says.
The better way is to create subdirectory whatever you need and run
sudo chown -R $(whoami) $(brew --prefix)/*
For those with the new El Capitan OS, you'll need to update your permissions:
Open Terminal and type the following commands:
$ sudo chown -R $(whoami):admin /usr/local
$ brew doctor
$ brew update
$ brew link --overwrite git
The above solution will work for other brew installs like node, etc. Just replace the last line if you started the installation but encountered errors during the brew installation.
I had a similar permission denied error on install of git until I cleaned things up:
$brew doctor
..... << long output of issues, so you run:
$brew prune
$brew doctor
..... << less issues now, so manually clean up
$brew update
$brew install git
Does that address your error as well?
I did what brew doctor recommended and it helped:
sudo mkdir -p /usr/local/sbin
sudo chown -R $(whoami) /usr/local/sbin
MacOS 10.14.4

Resources