macosinstallationhomebrewhomebrew-cask

How to deal with existing installations with Homebrew?


Before installing Homebrew, I had existing installations on my MacBook. For instance, I installed Google Chrome and Node.js as people normally do - by visiting their websites and downloading the .dmg/.pkg files.

Whereas, with Homebrew I would have ran

brew cask install google-chrome
brew install node

To integrate these applications with Homebrew, would I need to uninstall them and reinstall through Homebrew? Can Homebrew detect these existing installations? Is there an advantage to using a package manager?

(My thoughts are migrating them would allow me use brew update to maintain them.)


Solution

  • To integrate these applications with Homebrew, would I need to uninstall them and reinstall through Homebrew?

    Yes.

    Can Homebrew detect these existing installations?

    Homebrew can’t manage applications that were installed outside of it. It can detect some installations—for example if Python is installed Homebrew won’t force you to install it again if a formula depends on it—but can’t act on them.

    Is there an advantage to using a package manager?

    [2024 update following adamency’s comment]
    Yes, because the package manager makes it easier to install any app, upgrade or uninstall it (since 2017 brew cask can upgrade apps; before that worked only for plain Homebrew formulas). You don’t need to go on each website to download each app; you just run brew install <whatever>. It’s more automatable and you can use brew-bundle for a faster setup when you get a new machine.