brewcleaner
Clean up old Homebrew dependencies
Why?
One day you'll realized you downloaded too much from Homebrew and possibly have sediment from larger brews that linger in your system.
Usage
# Install via NPM $ npm install -g brewcleaner # To list brews with undepended brews $ brewcleaner run [!] Using brew_whitelist.json as whitelist... [•] The following are deemed loose ends... [!] cloc erlang glib libyaml ruby-build speedtest_cli [!] If you want to remove them, run with --remove flag [✓] Finished # You can supply a json file of whitelisted brews to ignore in output. # whitelist.json = { "ruby-build": true, "speedtest_cli": true } $ brewcleaner run whitelist.json [!] Using whitelist.json as whitelist... [•] The following are deemed loose ends... [!] cloc erlang glib libyaml [!] If you want to remove them, run with --remove flag # Note: Without a file, it will by default check for 'brew_whitelist.json' # To execute removal as well $ brewcleaner run --remove whitelist.json [!] Using whitelist.json as whitelist... [•] The following are deemed loose ends... [!] cloc erlang glib libyaml [•] Now removing brews... [!] glib cleaned! [!] erlang cleaned! [!] cloc cleaned! [!] libyaml cleaned! [✓] All clean! Fabulous!
Warning: If an invalid file if given with the --remove
flag, the program
will not remove the brews. You can overwrite that behavior by providing
--force
, but understand that it will probably remove way more than you asked
for...
Example whitelist
Whitelist is just JSON with keys as the brew name. Value can be arbituary
Notes
- It is possible you need to run it multiple times as it may remove a brew that had dependencies and you may not need them anymore (Add prompt for recursive call?)
License
brewcleaner is released under the MIT License.