64
votes

I upgraded from Mohave to Big Sur and found that homebrew is not working any more. I installed the command line tools using the command

xcode-select --install

After I run brew list, I get the following error

~ brew list
Traceback (most recent call last):
    11: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `<main>'
    10: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative'
     9: from /usr/local/Homebrew/Library/Homebrew/global.rb:37:in `<top (required)>'
     8: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     7: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     6: from /usr/local/Homebrew/Library/Homebrew/os.rb:3:in `<top (required)>'
     5: from /usr/local/Homebrew/Library/Homebrew/os.rb:21:in `<module:OS>'
     4: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:58:in `prerelease?'
     3: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `version'
     2: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `new'
     1: from /usr/local/Homebrew/Library/Homebrew/os/mac/version.rb:26:in `initialize'
/usr/local/Homebrew/Library/Homebrew/version.rb:368:in `initialize': Version value must be a string; got a NilClass () (TypeError)

I tried by deleting the folder /Library/Developer/CommandLineTools and installing the Command Line Tools for Xcode 12.3 beta but still I am getting the same error. Is there any way to make brew work?

9
You should run brew doctor, fix the warnings, then try again. I don’t have any issue. - bfontaine
I faced the same error. The reason was the installed Homebrew's version was too old. I've run cd /opt/homebrew; git fetch; git reset --hard origin/master (my homebrew's dir is /opt/homebrew). It worked well for me. - Yasuharu Nakano
Try resetting the xcode-select with sudo xcode-select -r xcode-select -p should give /Applications/Xcode.app/Contents/Developer ~ - sdayal

9 Answers

73
votes

I had the same problem. Try upgrading brew - this solved it for me.

brew upgrade
67
votes

You should update brew;

brew update-reset
6
votes

I have solved my problem reinstalling brew with this script (install.sh):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Then:

brew --version

output:

Homebrew 3.0.1
Homebrew/homebrew-core (git revision 47e5d; last commit 2021-02-14)

Then just proceed with: xcode-select --install

4
votes

After upgrading brew

brew upgrade

I got the following message:

Your Command Line Tools (CLT) does not support macOS 11.
It is either outdated or was modified.
Please update your Command Line Tools (CLT) or delete it if no updates are 
available.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you any updates, run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/more/.

Error: An exception occurred within a child process:

According to the instructions I ran the following commands:

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

and again ran

brew upgrade

And finally it worked.

3
votes

If you run brew upgrade still meet the error, maybe you should run brew update first.

My experience is:

1. brew update
2. brew doctor
3. brew upgrade
3
votes

You should update brew;

brew update-reset
1
votes

When I follow @andrmu instructions, I received an error stating Homebrew: Your CLT does not support macOS 11.0.. I had to first follow the instructions to clean upgrade my command line tools as per the top answer on this issue, then it worked..

0
votes
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

This worked for me

0
votes

After brew upgrade this did the trick to avoid tmp/mysql.sock error. Use commandline command:

sudo chmod -R 0777 /usr/local/var/mysql/