Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix homebrew permissions?

I have uninstalled and installed Homebrew 3 times now because it seems to never allow me to install anything as it denies me permissions at the end of most installations.

As an example I will post this libjpeg download scenario that I'm currently facing.

I try to install libjpeg and get:

$ brew install libjpeg ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz ==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz Warning: Could not link jpeg. Unlinking... Error: The brew link step did not complete successfully The formula built, but is not symlinked into /usr/local You can try again using `brew link jpeg' Error: Permission denied - /usr/local/opt/jpeg 

'brew link jpeg' results in

Error: Permission denied - /usr/local/opt/jpeg 

Here is what my brew doctor reads

$ brew doctor Warning: "config" scripts exist outside your system or Homebrew directories. ./configure scripts often look for *-config scripts to determine if software packages are installed, and what additional flags to use when compiling and linking.  Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew provided script of the same name. We found the following "config" scripts:  /Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config Warning: You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run brew link on these:  jpeg 

This permission issue has been making it impossible to use brew on anything and I would really appreciate any suggestions.

like image 315
Paul Rada Avatar asked May 08 '13 03:05

Paul Rada


People also ask

Where is homebrew installed on Mac?

On Mac Intel, Homebrew installs itself into the /usr/local/bin directory, which is already configured for access by the shell with the macOS default $PATH environment variable (the default is set by the /usr/libexec/path_helper command).

What is brew cleanup?

If you want to take your tidy-up routine to the next level, you can also run brew cleanup . This command removes downloads for outdated formulas and casks. ~ brew help cleanup Remove stale lock files and outdated downloads for all formulae and casks, and remove old versions of installed formulae.


1 Answers

I was able to solve the problem by using chown on the folder:

sudo chown -R "$USER":admin /usr/local 

Also you'll (most probably) have to do the same on /Library/Caches/Homebrew:

sudo chown -R "$USER":admin /Library/Caches/Homebrew 

Apparently I had used sudo before in a way that altered my folder permission on /usr/local, from here on forward all installations with brew have proven to be successful.

This answer comes courtesy of gitHub's homebrew issue tracker

like image 114
Paul Rada Avatar answered Sep 21 '22 08:09

Paul Rada