Brew error: Could not symlink, path is not writable

Giant Elk had a great suggestion and this is how I fixed my issue, which in my opinion is the cleanest. Users should not change permissions unless they know the ramifications.

  1. Output your installed packages (via brew) to a text file:

    brew list > brewlist.txt
    
  2. Uninstall brew:

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

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  4. Re-install previous packages (edit list if you do not need all packages):

    brew install $(< brewlist.txt )
    

As explained here by Rick:

Start with brew doctor which will show you errors with your brew setup.

You might see something like this: "Warning: /usr/local/lib/pkgconfig isn't writable."

It will give you the advice that: "You should probably chown /usr/local/lib/pkgconfig".

This means: sudo chown -R $(whoami) /usr/local/lib/pkgconfig

Then you will need to link the files with this: brew link yourLibrary

If this does not work hopefully the output of brew doctor will give you enough to continue the search.