Tell HN: The terminal shell is a nightmare

1 points by grumblingdev ↗ HN
I run a command like `npm build`, and get an error about `python2 not found`.

There are so many reasons why a command might not be found. There is way too much dynamic behavior.

For every tool there are multiple ways to install it.

Take [pnpm](https://pnpm.io/installation) for example:

Node introduced Corepack. Other options include: npm, brew, wget install-foo.sh, volta, etc. The list goes on. So many different options. Python is the same.

And they all involve modifying your `~/.zsh` file, and depending on a bunch of env vars.

If you forget what package manager you are using, and then install another way, now you have two and things are breaking without you realizing.

We should stop relying on the shell.

4 comments

[ 4.0 ms ] story [ 22.5 ms ] thread
How would having 9 package managers with different GUIs (instead of CLIs) solve your problem?
I hear you. There are too many dependencies to even dig into each of them, or even one of them.

On the other hand, it could start a journey to contributing if the fix is small enough and picqued your curiosity (time notwithstanding).

One (suboptimal) approach is to put one's foot down and say, "Okay, from here I will only allow my own tools to express my understanding, and nothing else is allowed."

So begins a tree of infinite prerequisites, and we become frozen at the first step of a million leaves. At least, we have enough source code to embark on any number of expeditions.

Practically speaking, I understand the desire is to build upwards versus reflecting below.

I'm thinking just like Zuck decided to personally hunt and kill every animal he ate, I shall build from source and install every package I use.