Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ChristopherA/3448ed55657766eeaab809dc1416849f to your computer and use it in GitHub Desktop.
Save ChristopherA/3448ed55657766eeaab809dc1416849f to your computer and use it in GitHub Desktop.
Uninstall brew package and dependencies

Uninstall brew package and dependencies

Remove package's dependencies (does not remove package):

brew deps [FORMULA] | xargs brew remove --ignore-dependencies

Remove package:

brew remove [FORMULA]

Reinstall missing libraries:

brew missing | cut -d: -f2 | sort | uniq | xargs brew install
@mrgloom
Copy link

mrgloom commented Feb 18, 2020

Seems deps not the same:

brew uninstall python3
Error: Refusing to uninstall /usr/local/Cellar/python/3.7.6_1
because it is required by cairo, ffmpeg, glib, harfbuzz, libass, numpy, pybind11, tbb and vim, which are currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies python3
brew deps python3
gdbm
[email protected]
readline
sqlite
xz

@Amar1729
Copy link

Amar1729 commented Mar 11, 2020

Now, it may be easier to instead run:

$ brew uninstall [FORMULA]

$ brew deps [FORMULA] | xargs -n1 brew uninstall

xargs -n1 will force xargs to only take one argument at a time, so you'll have the same number of calls to `brew uninstall as number of dependencies. Then you can rely on brew to decide whether a dependency isn't required anymore (so it'll uninstaall it) or if the dep is required by something else that brew call will fail and xargs will move on.

@Amar1729
Copy link

@mrgloom , brew deps will show what kegs a formula depends on; the uninstall error message is telling you what other formula depend on the one you're trying to uninstall (or "reverse-dependencies"). you can show these with:

$ brew uses --installed [FORMULA]

@brifordwylie
Copy link

Hey, so depending on the FORMULA that you're uninstalling this command can be quite dangerous

brew deps [FORMULA] | xargs brew remove --ignore-dependencies

If the formula has a lot of dependencies that are required for other packages, stuff get broken :(

@Amar1729
Copy link

Amar1729 commented Apr 30, 2020

This problem is more robustly solved by something like brew rmtree

@ianribas
Copy link

Just a small suggestion of an improvement on that last line:

brew missing | cut -d: -f2 | tr ' ' "\n" | sort | uniq | xargs brew install

So that duplicates are really removed.

@seguri
Copy link

seguri commented Dec 14, 2020

@squm
Copy link

squm commented May 16, 2021

brew autoremove

@soplwang
Copy link

brew autoremove

It works!

@pmsaue0
Copy link

pmsaue0 commented Jan 15, 2022

brew uninstall [formula] ; brew autoremove

FTW

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment