5 ms·
I think, you don't need to choose any other package manager because homebrew is the most mature thing on macos. Just disable autoupdate when installing somethin
by glintik 5y ago
I think, you don't need to choose any other package manager because homebrew is the most mature thing on macos. Just disable autoupdate when installing something:
HOMEBREW_NO_AUTO_UPDATE=1 brew install <formula>
- civilized 5y agoAnd since this technique relies on setting an environment variable, you can of course put it in your .bashrc/.zshrc, restart your Terminal, and you'll never have to remember it again: export HOMEBREW_NO_AUTO_UPDATE=1
- apostacy 5y agoHomebrew stinks of over-optimization and deletionism. In contrast to how it used to be, Homebrew now seems designed for people that only want popular bleeding edge packages, and nobody else. If I just wanted to install google-chrome, sublime, and skype, I would use the app store. I used to use Homebrew to install more obscure packages that were useful to me, like Arduino, Processing, and some specialized bluetooth tools. It is especially frustrating because there are good reasons to not want bleeding edge. OSX ages pretty well, and new versions of macOS often remove important features. As long as you have security updates, I think it is reasonable if you run an older version of macOS. For some of us, Catalina and Big Sur were pretty painful, especially if they are a liability for how you make money. Losing total-terminal and total-spaces were a big blow to my workflow, and not at all simple to work around, as well as certain accessibility software. Homebrew being so aggressive about updating itself compounds many other issues it has. For one thing, major changes are made frequently, and it is very aggressive about pruning packages and only supporting recent version of macOS. So, I have lost count of the number of times Homebrew has broken itself. Homebrew will go out of its way to search through its history and tell you a package has been removed, but gives you no easy way to install them. Homebrew could make it fairly easy to revert updates, since so much of it is in a git repo, but it doesn't. I wanted to install an SNES emulator, and I was using an install of macOS from maybe two years earlier, and Homebrew installed a version that was incompatible with my OS. Since it was a cask, I don't think anything depended on it. I had to actually search through the Homebrew repo history and check out that specific formula, since nobody had a tap for it. Unless you are near the center of the bell curve, you don't matter. And it is a shame, because I really think that it wouldn't impose a significant cost to support more of us, and substantially improve its UX. Homebrew used to be a powerful repository of most macOS software. Some of its less used packages could be unreliable, sure, but that was the case regardless of where I got them. Now it is morphing into an App Store. This is part of why I gave up on macOS two years ago and went to Linux full time. I can't rely on Homebrew.
- EamonnMR 5y agoI feel your pain, but can't help blaming Apple rather than Homebrew. They made an OS that users can't bear to upgrade because of removed features, homebrew is merely following their lead and focusing on bleeding edge users. Maybe the logic is: if you don't want constant churn you wouldn't be on a mac.
- apostacy 5y agoBut Homebrew didn't used to be that way when I started using it. And with some fairly small changes it could go a really long way to supporting more users. TBH if I had the time, I would roll up my sleeves and do it myself. The whole reason that I used Homebrew to begin with in 2014 was to help mitigate these problems. I think there has been a cultural shift away from being more useful for a larger base of users, to being optimal and "clean". The least it could do is confirm before it makes irreversible and sometimes breaking changes to your system. I don't see any good reason to delete your distfiles after potentially installing an incompatible package. And compared to most Linux based package managers, Homebrew makes big changes to its interface frequently, which makes it a headache to keep up with. Just look at how much casks have changed in the last two years. Anyway, when I felt I could no longer rely on Homebrew, that was the last straw for me dumping macOS.
- dahart 5y ago> They made an OS that users can't bear to upgrade because of removed features I thought the story was that Apple had a problem with GNU licensing, and that was the reason everything got locked to ~2007 software, forcing everyone who wants to use bash and GNU utils to resort to a package manager. Yeah… googling it, people have long been saying GPL v3 is what Apple has a problem with: http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/ http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/ https://news.ycombinator.com/item?id=18653485 https://news.ycombinator.com/item?id=18653485
- pxc 5y agoWhat you're talking about has nothing to do with what GP said. Apple cheerily breaks functionality for end users when they decide to remove or replace APIs on every major release of macOS. This tends to hit power users especially hard, as they often use tools that extend Apple's narrow facilities for things like handling keyboard input, managing windows, or controlling applications' audio volume through third-party tools that rely on internals of macOS that are not supposed to be public-facing, and those get broken more often. If your favorite tool relies on an API that gets pulled and doesn't (or can't) get rewritten when the new macOS release is in beta, you're SOL. Homebrew breaking on macOS upgrade is also due to one thing that's fundamental to Homebrew's design, which is that it tries to rely as much as possible on that same external base system which Apple provides but destructively revises whenever it sees fit. (This design choice is apparently the author of Homebrew made because relative independence from the base system meant too much recompiling for him on Homebrew's competitors at the time.) Package managers are used to install a hell of a lot more than bash. The idea that they wouldn't be necessary on macOS if only no popular tools were licensed under the GPLv3 is laughable.
- tobylane 5y agoIf you have an old version of a package, say OpenSSL, that was installed a year ago when you wanted PackageA, then both will be updated when you get PackageB which also depends on it. B’s bottle only refers to the new OpenSSL, and the old version is deleted so you need the new A bottle. No auto update just means you use the state of homebrew-core that you had before you ran the command, rather than updating it right before using it. It makes sense, but then I don’t do full upgrades and get delayed just like OP. I live with it.
- slightwinder 5y agoThis looks like a really awful solution. Does homebrew not ask the users on each run whether they want update something and warns them about the dangers? Like a responsible software?
- cpcallen 5y agoIt does not.