I've seen advice on an per-application basis, but is there a standard approach like Add/Remove Programs in Windows?
8 Answers
None that I know of (as advertised by Apple, I mean). I found this on my bookmarks: http://www.thexlab.com/faqs/uninstallingapps.html, which might give you a better idea of what to do before and after installing applications.
There are a few apps that take care of this too like: AppCleaner which tries to find the documents and settings the application uses (though it's debatable how efficient/reliable this apps or any app of this nature really are)
-
1+1 for AppCleaner. As to its effectiveness, seeing what it finds and deletes makes my think it, and similar, does a pretty good job. At least as good as a windows uninstaller, which leave stuff behind more often than not.– John GardeniersCommented Aug 5, 2009 at 10:46
-
+1 for AppCleaner too. For anyone reading this answer, I have been using this app for a while and it works like a charm on macOS High Sierra.– Nimesh Neema ♦Commented Mar 30, 2018 at 17:39
-
How does AppCleaner find the files? I would prefer doing this stuff using the command line rather than using a closed source app that requires root privileges. Commented Apr 16, 2020 at 12:38
Remember that (most) Mac OS X apps are installed self-contained; i.e., you simply drag a copy of the *.app folder into the Applications directory of your choice.
Once reason for this is to simplify the uninstall - delete the app folder; simple.
-
This is not correct. spotlight will show you what is left behind.– chiggsyCommented Jul 17, 2011 at 1:55
-
1
The vast majority of OS X programs are actually bundles; if you open the terminal and navigate to the application folder, you'll find that your applications are actually directories (folders). Inside are various libraries, executables, resource files, etc.
To uninstall you usually...usually...just drag the application to the trash and empty it. Then do a search from the Spotlight textbox (think it's a dropdown from the magnifying glass in the corner) and look for the application name to find any .plist files in the library folder(s); those are the preferences. You can drag and drop those into the trash as well. Then the application should be gone.
I say usually because some applications did use installers when you put them in, and sometimes those installers can when re-run uninstall the program. The majority, though, can be eliminated as described above, especially if you installed it by dragging it to the application folder in the first place.
If you screw up somehow you could always just reinstall the application and look for a README file in the installer DMG volume. I've seen a lot of applications that come with a README just to tell you to drag the application to the trash to uninstall it.
Use Spotlight.
First drag the app to the trash. Wait.
First background:
man hier # get an idea of where that stuff should be.
Then run:
mdfind -name AppName #identify all the stuff that got left behind.
Then to actually remove all files, which is what you would want:
mdfind -name AppName | parallel rm -rf {} # xargs works as well, but not as cool
There is something I just don't get about uninstallers i guess, on OSX. Files have a place to go, it's all very well documented, I do not understand why 9/10 uninstall scripts leave preferences, and Cache and Application Support directories around.
The other comments here are right on for uninstalling applications, however you may want to try something like Hazel which has functionality for deleting an application's related/support files when you have dragged the app to the trash.
Nope. The installer framework in OS X (.pkg files) does not actually support uninstall. So it's manual cleanup on a case by case basis.
I use a one liner borrowed from a user somewhere else on this site, or related sister site, or from macosxhints (I no longer remember the reference or I'd post a link), that I turned into a script (called "uninstaller") and adjusted slightly by changing the rm command to using a safer command line program installed using macports, rmtrash. The user provided bom receipt file should be in /private/var/db/receipts if the application to be removed was installed using an installer and the dev included one. The script will place all files installed into the user's Trash.
#!/bin/bash
#uninstaller /private/var/db/receipts/com.url.name.of.app.bom
#uninstall os x application installed with installer -pkg
#using (user) provided bom receipt
#place all installed files and directories in user's Trash
lsbom="/usr/bin/lsbom"
cd="/usr/bin/cd"
sudo="/usr/bin/sudo"
xargs="/usr/bin/xargs"
rmtrash="/opt/local/bin/rmtrash"
lsbom -fls "$1" | (cd /; sudo xargs rmtrash -u $USER)
exit
Installing MacPorts and rmtrash is simple enough, however, once xcode (for Mavericks 10.9 xcode_5.1.1.dmg) is installed:
curl -Ok https://distfiles.macports.org/MacPorts/MacPorts-2.2.1.tar.bz2
tar xf MacPorts-2.2.1.tar.bz2
cd MacPorts-2.2.1
./configure
make
sudo make install #not war!
cd ..
rm -rf Macports-*
sudo /opt/local/bin/port -v selfupdate
export PATH=$HOME/macports/bin:$HOME/macports/sbin:$PATH
export MANPATH=$HOME/macports/share/man:$MANPATH
sudo port -vsc install rmtrash
diskutil quiet repairPermissions /