Earlier quoted context omitted.
I wanted to like asdf but 1. it's slow, and 2. not available on Windows proper (non-WSL). Same with mise ( https://github.com/jdx/mise ) which builds on asdf. Volta exists but alas, it's only for JavaScript.
I know asdf doesn't work in windows outside of msys/WSL, but I've never seen evidence that it is 'slow'.
Show HN: I made a multiple runtime version manager that can be used on Windows
31–40 of 131 posts
Re: Show HN: I made a multiple runtime version manager that can be used on Windows
#32Earlier quoted context omitted.
It's a tool for managing environments for side-by-side installs of different versions of developer tools. Say you've got multiple projects you are working on and some need Node v18 and others Node v20 and some of each need Python 3.10 or Python 3.11 depending. You can handle switching side-by-side Node installs with a tool called nvm and there are lots for side-by-side Python switching (pyenv, pip env, conda, so many…
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.
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)