4 ms·
"I'm looking forward to future posts that show how Nix is better than Homebrew or MacPorts, because that hasn't been demonstrated so far." Homebrew is downrigh
by SwellJoe 10y ago
"I'm looking forward to future posts that show how Nix is better than Homebrew or MacPorts, because that hasn't been demonstrated so far."
Homebrew is downright dangerous (I've written about why: http://inthebox.webmin.com/homebrew-package-installation-for-servers http://inthebox.webmin.com/homebrew-package-installation-for... ).
MacPorts is fine. Not wonderful, but OK. Not reproducible in the way Nix is.
PkgSrc is also pretty good. Also not reproducible the way Nix is. But, the packaging policies are good, the packages tend to be well-thought out, and the technical solution to stuff like dependency resolution is pretty OK. The people building and maintaining PkgSrc know what they're doing.
Nix is clearly superior to all of them, however, in being reproducible, easy to roll-back in a predictable way (try going backward with almost any other package manager, even RPM/yum and dpkg/apt can't do that...I love'em both, but recognize that we now have better solutions to package management). Nix is just a fundamentally better tool.
Flatpak is another really promising packaging technology with some of the same benefits (but it's tackling things in a different way; I think I still have to consider Nix a better overall solution; it is certainly simpler in both implementation and usage, for packagers/developers and end users).
But, don't use Homebrew. For now, PkgSrc is probably the best method of getting a lot of reasonably good packages for Mac OS X. Nix will be the better option eventually, once there's a lot of people packaging for it (assuming people get over their bizarre love affair with Homebrew and start working with Nix, instead).
- eridius 10y agoHomebrew is not dangerous. Please don't spread FUD. Your link specifically covers the case of Homebrew on the server. But Homebrew isn't meant to be a server package manager. It's an OS X package manager, and OS X is a desktop operating system, not something that most people choose to use as a server (OS X Server exists but is primarily used for intranet stuff rather than as a production server). The complaints that your link has are only problems for an external-facing server. They're not problems for desktop use. And the simple answer to that is: don't use a desktop package manager on your server.
- ghshephard 10y agoTotally agreed. Homebrew is not an appropriate tool for server package management (It assumes everything should be installed under a single user account)- but 98-99%+ of the people that use OS X and servers are not running OS X on their servers, macmini colo users excepted. The wording dangerous was poorly used, inappropriate for server package management would have been better.
- mikemcquaid 10y ago"inappropriate for server package management" is totally fair. That's why we try to generally default to only listening on localhost.
- SwellJoe 10y agoI had no trouble finding people talking about using it on servers during my research. I even found people wanting it and discussing porting it for use on Linux (which is among the most ridiculous suggestions I can imagine, since Linux has an embarrassment of riches in terms of good and great package management options). So, yes, to be clear: The dangers of Homebrew are primarily when considering it for use in a server context. I personally wouldn't use it anywhere. But, it has many good qualities that many people value highly.
- eridius 10y agoThe people who are trying to use it on servers are misguided. The people who are trying to use it on Linux are just crazy. Homebrew itself has never pretended to be anything other than an OS X package manager aimed at desktop users. If you want to say "Homebrew is dangerous when used on a public-facing server", that's entirely fair. But that's not what you said. I'm glad that you do recognize this distinction though, and I hope you will think twice before claiming again that Homebrew is dangerous without qualification.