I have to reset a MacBook Pro (15 inch mid 2012, with macOS Catalina), and to rienstall all the applications after the reset I'm considering to use Homebrew instead of the traditional method (download and install the .dmg files from each site). All of those are GUI applications ("Casks" in the Homebrew terminology, if I understand correctly). So I have some questions:
Here I've read that one of the disadvantages of Homebrew is that installs the programs in
/usr/local
. But what is the real downside of this procedure? And if there is a real disadvantage, why the developers have chosen this approach? I noted that also TexLive, I think a well established program, is installed by default in/usr/local
.Here the first paragraphs explains that with applications that use a built-in way to upgrade themselves (like the vast majority of the casks/GUI apps) there may be conflicts between the action of Homebrew and the built-in mechanism, but at the end of the FAQ it is written that with the
auto_updates true
option Homebrew leaves the update responsibility at the app itself, thus avoiding conflicts. So I don't understand if there is a real problem or not with the conflict of installation.I installed some casks to test how Homebrew works and I really like the simplicity of doing everything via CLI, but I found some issues when I uninstalled this apps. Normally, when I have to uninstall a software, I always do it in the "complete" way (so purging all the support files with AppCleaner), and it works very well.
The Homebrew way for complete uninstalling something is add the
--zap
option, but it creates a mess if there's something installed from the same developer that I don't want to remove (for example, Google Drive file stream and Chrome). So I made another test: I installed a software with HB and uninstalled it with AppCleaner, but now HB keeps believing that the app is still installed (checked withbrew list
).So here's my question: is there a way to install something with HB and uninstall it with App Cleaner, but letting HB know that now the program is no longer installed?
I think that the problems 2. and 3. exist because of two main reasons: differently from what happens in Linux, GUI apps for macOS are not engineered for being managed by a package manager like Homebrew, and also HB itself is born for formulae, CLI softwares that don't show this two problems (casks are later additions made for trying to manage all from terminal). You think it makes sense?
applications that use a built-in way to upgrade themselves
.. I myself use homebrew to install decent versions of unix utilities (generally GNU versions).. something apple will never do because they are locked into ancient versions of BSD tools because of GNU licenses. Very little to worry about here.. in fact, almost EVERYTHING I install through homebrew is not available with a decent gui installer. Not an answer to your question.. but some truth to consider.