3 ms·
I used to use MacPorts, and switched to Homebrew. For exactly one reason: Homebrew uses, whenever possible, the tools already built in to macOS, where as MacPor
by GlenTheMachine 7y ago
I used to use MacPorts, and switched to Homebrew. For exactly one reason: Homebrew uses, whenever possible, the tools already built in to macOS, where as MacPorts builds new versions of those tools in order to maintain a pristine build environment.
MacPorts' philosophy seems better in theory, but in practice it has two flaws that turned out to be very significant for me. The first is that you end up needing a huge number of ports, partly because you're duplicating the tools already on the system, but partly because in many cases you need all of those ports' dependencies as well. So upgrading anything was a huge processing sink. I wanted fifteen or twenty ports on my system, but to get those MacPorts had to install several hundred dependencies. If you ever decide you don't want one of those ports, the dependencies are still installed, and pruning the ports tree was decidedly nontrivial.
The second was dependency hell. You end up with at least two versions of everything. Which one random third party apps pick up depends on search paths. Different third party apps need different versions, and I ended up twiddling with search paths a lot. Tryin to install ROS as a standalone third-party package was a nightmare.
Homebrew has its issues, but it doesn't have these issues.
Ultimately the real problem here is that macOS package managers are bolt-on additions and not a core part of the OS. when that's the case there is not going to be any perfect solution. But for a single-user machine where the main goal is to be able to maintain a minimal set of installs, and install new ones quickly so you can get real work done, Homebrew just worked better for me.
- natecavanaugh 7y agoYou hit the nail on the head why I had gone from MacPorts to Homebrew, and for me, the extra need for sudo was just an additional pain point. Your last point brings up an interesting question in my mind regarding Apple's intentions for the CLI. On the one hand, they seem to care enough to add features here and there to Terminal, but then when you consider that the tools have basically zero chance of upgrades being incorporated for licensing reasons, I wonder if they plan to even have a stance on package managers, or if they are completely fine with that being purely in user land. The entire CLI experience on macOS concerns me in as much as the OOTB set of tools will continue to work, but how much more fragmented will the experience get? There's already a good chance at running across some shell code online that requires bash 4 or relies on a newer gnu version of a tool. Maybe this long tail of developers is too niche for Apple, but I imagine it's still important to many of their developers in some way.
- kitsunesoba 7y agoI haven’t used MacPorts for many years now, but I remember having to untangle the messes it made on a near regular basis. Perhaps that has changed, but it certainly expedited my switch to Homebrew back then.