When comparing Homebrew vs MacPorts, the Slant community recommends Homebrew for most people. In the question“What are the best power user tools for macOS?” Homebrew is ranked 2nd while MacPorts is ranked 41st. 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 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.
Pro Provides a consistent experience across OS X versions
MacPorts eschews Apple-supplied libraries and links sources against its own making sure that the experience is the same regardless of what OS X version is used.
Pro Easy to use
Detailed instructions on the homepage are easy to follow. Official GUI app is also available
Pro Generally very up to date
MacPorts generally gets new software soon after it's available. This way users will not have to worry if their software is up to date.
Pro Nice variants system
MacPorts has a variants system that allows customizing builds with author provided options.
Pro Has many more packages than its competitors
As of this writing, 20K packages. 3 to 5x more than other current package managers.
Pro Requires SUDO to install apps
No need to worry if some rogue app will change your binaries or configuration.
Pro Download libraries instead of relying on Apple's caprices
Considering just how often Apple breaks things, any reduplication of of Apple-supplied libraries with the canonical sources is an asset.
Pro Fast
Written in Tcl & C, it's generally significantly faster than the competition. Tcl is also quite readable and comparable to Ruby, so it's also friendly to newcomers.
Pro Supports older Mac operating systems
Homebrew dropped support for old Macs. MacPorts still supports them.
Pro MacPorts is a native application: C + TCL
No need to install Ruby, or any other programming language.
Pro More packages than competition
Pro Apple Silicon Ready
With Apple moving over to its own silicon, macports has been ready for the move to ARM since 2.6.4
Pro Initially started and developed by Apple employees and supported by Apple itself
Reading the story behind MacPorts, it is the only one that was developed by Apple by an Apple employee. In fact it is the same person that was responsible for creating the FreeBSD port system.
Pro Great support for older systems
Pro Most of the available packages work
For example, trying to install Finch using Pkgsrc doesn't work, while installing it using MacPorts works perfectly. Finch isn't even on Homebrew's radar.
Cons
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.
Con Relies on outdated system libs
Con New Packages and Updates take time
Macports isn't the first choice for developers producing new packages or binaries for macOS. Nor is it the fastest in getting updates. But in general, it usually is one of the most up to date and will be updated eventually. Some would see this as a con in comparison to Homebrew.
Con Bad at limiting dependencies
MacPorts has a habit of pulling very specific versions of dependencies for each package. It downloads different version of already existing dependencies even in cases where the existing dependency version would have worked seamlessly.
Con Downloads unneeded libraries duplicating functionality already provided by Apple's libraries
As MacPorts eschews Apple-supplied libraries and links sources against its own a large duplication of functionality across MacPorts and Apple libraries can be found.
Con Requires root permissions (sudo) for installation of packages
A really good security feature, but some see it as a con.