This is a list of commonly encountered problems with packages on Homebrew, known issues, and their solutions.
You need to have the Xcode Command Line Utilities installed (and
updated): run xcode-select --install
in the terminal.
You cloned with git
, and your Git configuration is set to use Windows
line endings. See this page:
https://help.github.com/articles/dealing-with-line-endings
You don’t have a /usr/bin/ruby
or it is not executable. It’s not
recommended to let this persist; you’d be surprised how many .app
s,
tools and scripts expect your macOS-provided files and directories to be
unmodified since macOS was installed.
After running brew update
, you receive a Git error warning about
untracked files or local changes that would be overwritten by a checkout
or merge, followed by a list of files inside your Homebrew installation.
This is caused by an old bug in in the update
code that has long since
been fixed. However, the nature of the bug requires that you do the
following:
cd "$(brew --repository)"
git reset --hard FETCH_HEAD
If brew doctor
still complains about uncommitted modifications, also
run this command:
cd "$(brew --repository)/Library"
git clean -fd
When trying to load a plist file into launchctl, you receive an error that resembles
Bug: launchctl.c:2325 (23930):13: (dbfd = open(g_job_overrides_db_path, [...]
launch_msg(): Socket is not connected
or
Could not open job overrides database at: /private/var/db/launchd.db/com.apple.launchd/overrides.plist: 13: Permission denied
launch_msg(): Socket is not connected
These are likely due to one of four issues:
- You are using iTerm. The solution is to use Terminal.app when
interacting with
launchctl
. - You are using a terminal multiplexer such as
tmux
orscreen
. You should interact withlaunchctl
from a separate Terminal.app shell. - You are attempting to run
launchctl
while logged in remotely. You should enable screen sharing on the remote machine and issue the command using Terminal.app running on that machine. - You are
su
‘ed as a different user.
When running brew upgrade
, you see something like this:
$ brew upgrade
Error: undefined method `include?' for nil:NilClass
Please report this bug:
https://docs.brew.sh/Troubleshooting
/usr/local/Library/Homebrew/formula.rb:393:in `canonical_name'
/usr/local/Library/Homebrew/formula.rb:425:in `factory'
/usr/local/Library/Contributions/examples/brew-upgrade.rb:7
/usr/local/Library/Contributions/examples/brew-upgrade.rb:7:in `map'
/usr/local/Library/Contributions/examples/brew-upgrade.rb:7
/usr/local/bin/brew:46:in `require'
/usr/local/bin/brew:46:in `require?'
/usr/local/bin/brew:79
This happens because an old version of the upgrade command is hanging around for some reason. The fix:
cd "$(brew --repository)/Library/Contributions/examples"
git clean -n # if this doesn't list anything that you want to keep, then
git clean -f # this will remove untracked files
Warning: Could not link <formula>. 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 <formula>'
Possible conflicting files are:
/usr/local/lib/python2.7/site-packages/site.py
/usr/local/lib/python2.7/site-packages/easy-install.pth
==> Could not symlink file: /homebrew/Cellar/<formula>/<version>/lib/python2.7/site-packages/site.py
Target /usr/local/lib/python2.7/site-packages/site.py already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
brew link --overwrite formula_name
To list all files that would be deleted:
brew link --overwrite --dry-run formula_name
Don’t follow the advice here but fix by using
Language::Python.setup_install_args
in the formula as described in
Python for Formula Authors.
Upgrading macOS can cause errors like the following:
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.54.dylib
configure: error: Cannot find libz
Following a macOS upgrade it may be necessary to reinstall the Xcode
Command Line Tools and brew upgrade
all installed formula:
xcode-select --install
brew upgrade
If your Homebrew installation gets messed up (and fixing the issues
found by brew doctor
doesn’t solve the problem), reinstalling Homebrew
may help to reset to a normal state. To easily reinstall Homebrew, use
Homebrew Bundle to
automatically restore your installed formulae and casks. To do so, run
brew bundle dump
,
uninstall,
reinstall and run
brew bundle install
.