Hacker News new | past | comments | ask | show | jobs | submit login

I just unpack node to different folders and set PATH. Why would I need any tool for that?

Most languages work that way just fine. Java, node, python, go. The only bad player that I've found is Rust, its distribution is absolute mess.




Sure, these tools don't do much more fancy than that. The early days of pyenv was "just" a tool that output a Bash script that set PATH and PYTHONPATH and a few other environment variables.

There's still some utility in automating changing your PATH when you switch between projects: do you need to support multiple shells with different syntaxes for changing environment variables? Do you need to synchronize those shells sometimes? Do you need to change PATH for random combinations of multiple tools at once? Do you want to have a tool verify for you that you are changing PATH to refer to a version currently installed? And maybe automate installing it if isn't?

This particular tool supports a half-dozen different shells (on Windows) and a single file to setup PATH (and other environment variable changes) for any number and combination of tools all at the same time.

If you are happy with your manual PATH changes today and don't see a reason to automate them, then you might not need a tool to automate them. If you find yourself changing PATH a lot more frequently and hoping to automate it more, there are tools for that. As with anything, automation is a spectrum and what you might not do enough to automate someone else might do a lot more often than you and could use some form of automation to speed things up and/or catch easy or dumb mistakes.


> I just unpack node to different folders and set PATH. Why would I need any tool for that?

To put it simply, vfox will help you do this. Unzip node, golang, etc. to $HOME/.version-fox/cache. When you write `vfox use node@10.1.1`, it will automatically configure PATH for you. Free your hands, you don't need to think about where to download nodejs, golang, etc. runtime, nor how to configure PATH. Especially on Windows, configuring PATH is still quite troublesome.


"Why make my life easier?"

I deal with hundreds of different repos/projects that use various versions of various runtimes and I have to switch versions sometimes multiple times a day, sometimes multiple times a week.

Why would I want to unpack an entire language runtime into ANOTHER directory when I can enter the directory and write "nvm use system"? And if I want to install a specific version of node, without having to dig around for the url on nodejs' website I write "nvm install 21.7.3" and it installs it. Then I use it.

Like, it's practically weaponized incompetence to just dig your head in the sand and not use these practically standardized tools that everyone else has been using for 15+ years. Do you dislike using package managers as well? Apt? Nix?

I don't feel like dealing with HNs terrible formatting system but this is how much work I do to install and change versions of one runtime. I deal with TONS of runtimes throughout the week.

Also this is just one runtime, I also have to deal with python, ruby, go, terraform and many other versions so these "aggregate" runtime version managers like asdf etc are awesome.

######

-> (base) workspace nvm list

-> system

iojs -> N/A (default)

node -> stable (-> N/A) (default)

unstable -> N/A (default)

-> (base) workspace nvm use system

Now using system version of node: v21.7.3 (npm v10.5.0)

-> (base) workspace nvm install 21.7.3

Downloading and installing node v21.7.3... Downloading https://nodejs.org/dist/v21.7.3/node-v21.7.3-darwin-arm64.ta...... ############################################################################################################################################################ 100.0% Computing checksum with sha256sum Checksums matched!

Now using node v21.7.3 (npm v10.5.0)

Creating default alias: default -> 21.7.3 (-> v21.7.3)

-> (base) workspace nvm use 21.7.3

Now using node v21.7.3 (npm v10.5.0)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: