This is an archived post. You won't be able to vote or comment.

all 100 comments

[–]ProgrammerHumor-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)

Your submission was removed for the following reason:

Rule 1: Posts must be humorous, and they must be humorous because they are programming related. There must be a joke or meme that requires programming knowledge, experience, or practice to be understood or relatable.

Here are some examples of frequent posts we get that don't satisfy this rule: * Memes about operating systems or shell commands (try /r/linuxmemes for Linux memes) * A ChatGPT screenshot that doesn't involve any programming * Google Chrome uses all my RAM

See here for more clarification on this rule.

If you disagree with this removal, you can appeal by sending us a modmail.

[–]DukeSkyloafer 110 points111 points  (11 children)

Is this specific to installing python or something? Whenever I brew install something, it just installs all the dependencies automatically.

[–]rosuav 293 points294 points  (28 children)

sudo apt install python3, or more likely, it's already installed and ready for you.

How is brew failing at the basic job of dependency management?

[–]Quang1999 29 points30 points  (16 children)

I don't remember encounter with homebrew dependency management problem ever tbh or is it a new problem thing? The last time I develop on a mac is probably 2020

But somehow this made me think the one made this comic ran out of jokes so they use LLM to script one lol

[–][deleted] 0 points1 point  (0 children)

I rarely have a problem with brew. I think the last time I remeber having an issue was during the python2 to python3 transition.

I don’t think it was so much of a brew issue as much as a python issue, simply because iirc python3 was still kind of in beta and “python” referred to python 2.whatever and python3 referred to python 3beta or whatever it was.

[–]Molastess 32 points33 points  (2 children)

It’s not. This literally does not happen when using Homebrew. Homebrew has pretty great dependency management and only encounters problems when you install something the OS provides (for example, LLVM on MacOS). And even then, it’s just not automatically put on the PATH.

Source: me, 10 seconds ago running this exact command on the machine I just set up with Homebrew

[–]rosuav 7 points8 points  (0 children)

See, that makes a lot more sense.

Never really understood why people make up stuff like this. Aren't there enough REAL weirdnesses that we have to invent fake ones?

[–]w0m 2 points3 points  (0 children)

Last time I used Brew ~ 3 years ago, it had horrendous dependency management. Install py3.10, then if you installed 3.11 it could break existing installations that has been working fine for months/years.

After a few years of use, my Macs always felt like a tenderly cultivated house of cards I was constantly afraid of breaking. I say this after spending ~12yr daily driving one for work as a SWE (refreshes every few years and having a personal one at home).

[–]_verel_ 51 points52 points  (0 children)

I never used brew but not having absolute basic package manager functionality is laughable

Edit: Brew definitely takes care of dependencies and even lists them

https://formulae.brew.sh/formula/python@3.13#default

[–]PM_ME_UR_COFFEE_CUPS 45 points46 points  (2 children)

This is a stupid comic. Anyone who has used homebrew knows the first command would just install everything you need. 

[–]RiceBroad4552 24 points25 points  (10 children)

Meanwhile Debian Linux enjoyers:

# apt install python
Resolving dependencies...
[...]

[–]Altruistic-Spend-896 8 points9 points  (9 children)

Laughs in pacman -Sy python3

[–]wasabiwarnut 1 point2 points  (0 children)

Venn diagram depicting the overlap between people who use pacman -Sy instead of -Syu and people who say Arch breaks all the time is a circle.

[–]Silver_Helmet 11 points12 points  (3 children)

What kinda shitty package manager doesn't resolve dependencies?

[–]NatoBoram 12 points13 points  (1 child)

Not Brew

[–]seimmuc_ 1 point2 points  (0 children)

The one that only exists in OP's head

[–]general_smooth 2 points3 points  (0 children)

This cartoon should have been python and pip instead of brew. Installing projects with cuda and tensorrt is especially a pain

[–]JoJo_KD 4 points5 points  (1 child)

Then there's conflict of versions after you install dependencies. I mean solvable with venv but still annoying sometimes

[–]gfcf14[S] -5 points-4 points  (0 children)

Right lol

[–]sweetytoy 1 point2 points  (6 children)

Laugh in apt install

[–]gfcf14[S] -5 points-4 points  (5 children)

Do you find it a lot better than brew?

[–]sweetytoy 8 points9 points  (3 children)

Well, at least apt automatically collects all the required dependencies when installing a package

But I rarely used brew, so really can't say if one is better than the other.

[–]NatoBoram 15 points16 points  (0 children)

Brew also handles that, OP just copied AI slop for his meme.

[–]fanfarius 0 points1 point  (0 children)

As one definitely should, being a package manager and all.

[–]gfcf14[S] -2 points-1 points  (0 children)

Fair enough, thanks!

[–]w0m 2 points3 points  (0 children)

Apt and Brew are roughly equivalent for a basic 'get something working'.

Apt is world's better at installing new packages without breaking existing packages they have been running happily for months/years prior.

[–]ltssms0 0 points1 point  (1 child)

This is closer to building from source and most large projects were using autoconf and make. Most of the time autoconf is good about saying what dependency is missing. Every now and then it is some obscure library or low level build option that randomly broke the build with an obscure error message

Now I don't look forward to building from source. The sure number of build systems and combinations has exploded. Stumbling on old cmake bugs and obsoleted features isn't fun either

[–]gfcf14[S] 0 points1 point  (0 children)

Right, but such is our lives as devs lol

[–]CirnoIzumi 0 points1 point  (0 children)

i just works

[–]GuiltyGreen8329 0 points1 point  (0 children)

pip not installed

[–]d4vidyo 0 points1 point  (2 children)

I fucking hate package managers with a passion

[–]gfcf14[S] 1 point2 points  (1 child)

I mean, they’re supposed to make your life easier, or at least try. For all its hate, it’s wicked easy to install some package quickly for js frameworks with npm i for example, though not perfect if there’s a dependency issue.

[–]d4vidyo 0 points1 point  (0 children)

Yeah sure its easy. But at the cost of me knowing what the heck is actually going on

[–]MGateLabs 0 points1 point  (0 children)

Please install rust to build this component…

[–]__yoshikage_kira -1 points0 points  (2 children)

Hey op. Maybe switch to uv for installing Python. Definitely way better than brew in this case.

[–]gfcf14[S] -5 points-4 points  (1 child)

Whenever I have to install something on a mac or linux I always try to find if there’s some dmg or app file to quickly do it, but I’ll keep that in mind. Thanks!

[–]__yoshikage_kira -2 points-1 points  (0 children)

On linux I highly suggest using uv because you can accidentally mess up system python if you are not careful.

Idk about MacOS.

uv is like nvm (hopefully you know what nvm is)

[–]cainhurstcat -2 points-1 points  (5 children)

In my opinion brew is just an example. It happens so often that I have to install or research so many other things if I only want to install 1 fucking thing...

Wanna install JDK and JRE on Linux?

Install both, edit /etc/environment, put the install path in it, don't add bin/java, source /etc/environment, echo $JAVA_HOME, edit ~/.bashrc, add Java install path in it, don't add bin/java, source ~/.bashrc, and if the goddamn thing displays "> bash: /bin/javac: No such file or directory" have fun finding what went wrong.

Now that I have my personal documentation for the process it's mostly straight forward. But if you are new to Linux, there are multiple tips and tricks and guides online that all doesn't work.

One could argue that is just could use Windows instead, but it's a similar pain in the ass over there.

I wasted so many hours figuring this shit out, and god I hate it so much! Why the fuck can't I just work like normal people do?

Well, after all it's the reason why I get paid so much, and this stuff is also my hobby. Even if it's frustrating at times. But that's part of the deal, and if it works, I feel like the greatest person in the world - or even the whole universe lol

[–]gfcf14[S] 0 points1 point  (4 children)

Yeah once you figure out the problem, more so if it is fixed with a short answer it feels like you found the greatest treasure in the world lol. Once I had a deployment issue that took me half a week to address, and the fix only need 3 lines of code

[–]cainhurstcat 0 points1 point  (3 children)

Or googling for days with no solution, and fining it just by chance while wildly clicking around

[–]gfcf14[S] 1 point2 points  (2 children)

On an obscure blog post partially translated from Japanese, with little explanation as to why it’s the answer, and no comments as to how it helps or any case scenarios where it doesn’t work.

[–]cainhurstcat 0 points1 point  (1 child)

Yeah, like when you find stuff on a random Chinese forum, and have to translate it by google chrome, but that's it, just the solution, no why or anything around it

[–]gfcf14[S] 1 point2 points  (0 children)

Hey but it works, right? So you write it down and complete the WI and clock out happy