MacPorts in relation to Homebrew

I now use MacPorts as my package manager on macOS. I was a longtime Homebrew user before I switched sometime last year. I earlier wrote a comparison on the topics I care for in a news.ycombinator.com comment, which can be summarized as:

Command output: The port command is more judicious in its output that brew. There are no colors and it is writes less noise overall.

Permissions model: brew writes files to /usr/local/* 1 with your normal user account as the owner. This goes against Unix conventions in which /usr/local/* is a root-managed tree. port doesn’t do such things, instead requiring root privileges (e.g. through sudo) to install system-wide packages, as it should.

Package maintenance & quality: The core packages I use in the MacPorts are well maintained.

Popularity: This isn’t a topic I care much for. MacPorts seems a less popular ecosystem (in both number of users and number of developers) than Homebrew. In general this means that fewer packages are available in MacPorts than in Homebrew. For example, more specialized packages, such as the RISC-V GNU toolchain, aren’t packaged in MacPorts.

  1. A follow up commenter added that the path is /opt/homebrew/* on ARM-based Mac computers.