5 ms·
Brew consistently upgrades things that shouldn't need to be upgraded. I've spent more hours than I care to count fixing broken Postgres installations which regu
by regulation_d 6y ago
Brew consistently upgrades things that shouldn't need to be upgraded. I've spent more hours than I care to count fixing broken Postgres installations which regularly get major version bumps as a result of a completely unrelated install or upgrade.
I've never used linux as a dev machine, but in general apt seems much more reasonable in this regard. My frustration with Brew is pushing me to seriously consider a linux machine, so if anybody has counterpoints here I'm definitely interested in hearing about your experiences.
I don't care that Brew "breaks with norms" I just care that it breaks my shit.
- vlunkr 6y agoYes, Ubuntu/Debian are very conservative with their updates. Especially if you're on an LTS release, so you're unlikely to have something break from an upgrade like that. Brew tends to be very up-to-date.
- gh-throw 6y agoI think I must use it differently from how other people do. I use it to install tools I'll use directly, so I practically always want those to be at latest (or otherwise don't really care what version they are). If I need something at a particular version I'd use a container, or install it manually in some isolated folder, or something like that, since odds are if I need something at a particular version I'm going to need it at multiple particular versions and to be able to re-create the installation on other environments. So I end up with: System -> Apple-managed My tools, as in programs I personally use -> pretty much entirely Brew, in fact I think on my current workstation this category is 100% brew-installed Dependencies of anything I'm working on -> some language-specific version manager (which itself is may be brew-managed, actually) plus containers or VMs with scripted installs, probably. On linux my experience is typically more like: System -> package manager My tools -> package manager, plus some sketchy extra repos that I hate to add but do anyway because I don't want to screw with manually updating things, plus several things installed manually, plus a bunch of things on older versions than I'd like but not worth the trouble/risk of finding some way to upgrade without it being a PITA. Dependencies of anything I'm working on -> some language-specific version manager (almost certainly not available in the distro's official repos) plus containers or VMs with scripted installs, probably. So for my use, Brew cleans up the "My Tools" workflow very nicely compared with Linux, excepting, kind of, my days back on Portage/Gentoo, which of course has its own problems.
- mnahkies 6y agoI don't quite understand your argument. I use my distros package manager in a very similar way to how you describe brew for my tools, and also use containers in the contexts you describe. Only difference I see is that my containers are running natively (eg no VM in the background) and that I've not had any random errors from my package manager in years. Not sure what brew is like these days but last I used it the experience felt like a half baked apt/yum to me (3+ years ago though)
- gh-throw 6y agoGP and a sibling comment (quote: "Something as simple as "brew upgrade youtube-dl" could end upgrading dozens of _unrelated_ packages, such as postgres--which ends up breaking my local development environments.") seem to describe using Brew to manage dependencies of applications they are developing, which I do not do, and wouldn't do with a Linux workstation's package manager either, so I never have those problems. That's what I was pointing out. For me, Brew is for managing my personal software I use that doesn't come from Apple. Project dependencies, including the version of the compiler or interpreter for the language you're writing, don't belong brew-managed in most cases, which seems to be what's tripping people up when they try to use it for that. Yes, containers run better on Linux because they're native. No quibble there. I just find I'm much, much better able to cleanly manage my personal software (not project dependencies, which, again, I wouldn't try to manage with my workstation's Linux package manager, either) with Brew on macOS than in any Linux distro I've used. 99% of what I ever want to run (outside the base OS, and project dependencies) is on there, available at a single "brew install", after I do nothing more than install Brew itself, versus 50-95% on Linux (depending on the distro), where I find myself adding all kinds of extra repos and installing one-offs a variety of ways just to get to a baseline level of having all the stuff I need at new-enough versions. And the interface is above-average, in my opinion (but again, Portage/Emerge is my favorite package manager on Linux and maybe the only one aside from Void's that I've found pleasant to use, so I may just be weird)
- brailsafe 6y agoI've had this upgrade probablem recently as well, with specifically your example. Even though I like brew much more than linus package managers, this seems like a massive issue. Why the hell is this a thing? Has nobody fixed it?
- qubitcoder 6y agoIndeed. I've run into this multiple times. Something as simple as "brew upgrade youtube-dl" could end upgrading dozens of _unrelated_ packages, such as postgres--which ends up breaking my local development environments. Perhaps that's the wrong command to use, but either way, it's still frustrating when it happens.
- MuffinFlavored 6y agoWhy don't the brew developers change this/add an option/make it opt in?
- brailsafe 6y agoWhy the hell is this happening? Happens for me too.
- fnord77 6y agothis right here. When I instruct brew to install something, I didn't instruct it to upgrade everything else. And I didn't instruct it to do a 30 day clean up. apt and yum don't go doing things you didn't tell them to do (usually)
- ogre_codes 6y agoIf having a specific version of a tool is important for your work, it’s probably best to install that tool separate from homebrew and manage that install separately. The Postgres docs seem to recommend the EDB installer. https://www.postgresql.org/download/macosx/ https://www.postgresql.org/download/macosx/ Likewise Python and other programming tools where running a specific version is important are best managed outside homebrew.