When comparing Homebrew Cask vs Homebrew, the Slant community recommends Homebrew for most people. In the question“What are the best Mac package managers?” Homebrew is ranked 1st while Homebrew Cask is ranked 2nd. The most important reason people chose Homebrew is:
Homebrew makes it easy for people to quickly install any open source software (that is contained within the apps repositories) for Mac.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Extends Homebrew
Homebrew Cask adds functionality to Homebrew such as allowing downloads of commercial licensed apps.
Pro "Zap" application configuration
this is an interesting feature allowing user to remove application configuration leftowers
Pro Manage graphical applications through the command line
Homebrew Cask allows you to install graphical applications through the command line, rather than having to go through the standard installation process.
E.g. brew cask install google-chrome
Pro Quick access to a large repository of open source software
Homebrew makes it easy for people to quickly install any open source software (that is contained within the apps repositories) for Mac.
Pro Easy to setup and use
Once installed, you control Homebrew using the brew command. You can find packages using brew search, install them using brew install and remove them using brew uninstall.
Pro Open Source
Pro Less maintenance than Macports
Macports seems to be able to get into a bad state where new packages are unable to be installed, or installed software was unable to be updated. This simply hasn't happened with Homebrew. In addition to not having to deal with corruption problems, Homebrew installs packages in userland. Not requiring root to install software is a big win.
Pro Builds quickly and requires few dependencies
Homebrew as much as possible uses already existing libraries and tools to install software thus making builds quick and requiring few dependencies.
Pro Unintrusive
Homebrew installs packages to their own directory and then symlinks their files into /usr/local
. Homebrew won’t install files outside its prefix, and you can place a Homebrew installation wherever you like.
Pro Does not require using sudo
One of the things to like about Homebrew is that it refuses to run things under sudo
most of the time. This is a great policy, but it causes issues when you want to create symlinks or install in places that SIP has changed permissions on.
Pro Homebrew tries very hard to use existing tools and libraries
Homebrew’s recipes try very hard to use the existing tools and libraries in OS/X, so they tend to build much faster and require fewer dependent libraries.
Cons
Con Cask update is usually manual
This defeats the purpose of the packet manager.
Con Requires Xcode
Homebrew Cask requires that Xcode is installed, which may be more work than what some want to spend on configuring this app.
Con Software no longer needed by anything (orphans) is hard to delete
Con The developers are hostile to the users reporting issues
Con Silently spies on the user by default
See here.
Con Duplicate apps found in brew may cause issue
There are warnings provided that apps found in brew should not be installed with brew cask (and vice versa). While the user is warned of this, mistakes can happen, which would be better to just see them avoided all together by not supplying duplicate apps.
Con Goes against Apple's design choices with macOS and breaks the system
Con May cause issues when trying to create symlinks or installing in places where SIP has changed permissions
One of the things to like about Homebrew is that it refuses to run things under sudo
most of the time. This is a great policy, but it causes issues when you want to create symlinks or install in places that SIP has changed permissions on. (Alternatively, you could install Homebrew somewhere other than /usr/local
, but that might break various packages that depend on having stuff in and relative to /usr/local/
.)
Con Command line tools for XCode required
Once xcode is installed you can install Homebrew, including new(er)/different versions of most of the build stuff that xcode-select installed, like a newer gcc, newer git, etc.