curt15
9 days ago
Brew got one thing right that no Linux package manager seems to emulate: it doesn't require root for normal operations and even goes so far as to error out if running as root (https://docs.brew.sh/FAQ#why-does-homebrew-say-sudo-is-bad).
hiciu
9 days ago
"let's allow any user process to modify my binaries" is not something to be proud of...
PhilipRoman
8 days ago
pzmarzly
9 days ago
It needs world-writtable /opt/homebrew, so I guess a Linux equivalent would be Nix (which IIUC requires writable /nix).
For something that only uses your home folder, I recommend checking out mise https://mise.jdx.dev/
mmarx
9 days ago
In multi-user mode, Nix uses dedicated build users to write to the store. There is also single-user mode, but that also doesn't require a world-writable store.
exploderate
9 days ago
Or just homebrew on Linux?
matrss
8 days ago
Brew _is_ a linux package manager.
There is also conda/mamba/pixi/etc. (anything in the conda-forge ecosystem) that can be used without root. Then there are Guix and nix, which (mostly) require to be set up by someone with root privileges, but which then allow unprivileged users to install packages for themselves. I think I have even used emerge rootless-ly at some point a few years ago.
cromka
8 days ago
Brew is so full of Linux/OSS/GNU anti-patterns that I can't wrap my head how did it ever managed to receive so much adoption. I guess macOS people are way more ignorant about things that made Linux/OSS what it is.
stephenr
8 days ago
It doesn't help that the project authors shut down any conversation about flaws.
They're so convinced that their way is right and essentially stick their fingers in their ears when anyone raises concerns.
Unfortunately cargo culting is a thing.
I say this as a macOS user.
Fortunately alternatives like MacPorts exist.
cromka
8 days ago
Absolutely this. I can't but think that brew is an extension of author(s) ego. Remember that essay about them failing to get a job at Apple?
yladiz
8 days ago
Can you give some examples?
cromka
8 days ago
Updating all of your installed packages when you ask it to install a new one. This is so utterly ridiculous that it singlehandedly nade me stop using brew. I can't imagine what other bad decisions they make if this is what they thought was a good one.
Another fact is that it's basically like AUR, with little to no oversight. If AUR had malware then just imagine how much malware is there in brew recipes.
They also didn't use cryptographic signing for the longest time, they did get some shit for that.
There were more, can't remember now.
One other thing that seriously annoys me is the automated closure of reported issues after they get no response for a while. So I reported maybe 3 bugs and then I stopped altogether, because why would you waste your time on a project that doesn't respect it? All these bugs were actual full blown bug reports, well written and researched. I can't but think that projects that close issues like that are made to look better than they are.
Also, you guys remember when its author ranted about not having gotten a job at Apple? I always thought they cared about the prestige of that project more than the actual project, based on the level of security shortcomings. Brew has that serious amateurish taste to it.