SaaSHub helps you find the best software and product alternatives Learn more →
Top 18 Shell Version Manager Projects
-
This wasn't an option for us because as an org we used their recommended hook (1) to automatically change node versions when switching directories, but it effectively undoes the lazy loading.
With mise you get the behaviour of automatically switching when you change directories effectively for free.
1. https://github.com/nvm-sh/nvm#zsh
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
# Install dependencies to run ruby sudo apt update && sudo apt install -y git curl build-essential libz-dev libffi-dev libssl-dev libyaml-dev # Clone rbenv and install it git clone https://github.com/rbenv/rbenv.git ~/.rbenv ~/.rbenv/bin/rbenv init source ~/.bashrc git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
-
-
-
For managing versions of development tools like Ruby and Node.js, I had gone through *env tools like rbenv and nodenv, then switched to asdf in 2019. For environment variable management, I had been using direnv since even earlier—2014.
-
-
-
-
-
-
gvm
Go Version Manager (gvm) enables seamless installing and swapping between Go versions with a single command. This tool manages a Go environment for the user by allowing a user to specify which Go version they wish to use and handling all of the steps to install and configure that Go version. GVM also supports installing Go from the official Golang master branch so that you can easily try the next version of Go without waiting for a pre release build. (by devnw)
-
-
-
Project mention: C89cc.sh – standalone C89/ELF64 compiler in pure portable shell | news.ycombinator.com | 2026-04-02
A linter, not yet.
You can use what I use: https://github.com/alganet/shell-versions
It's a container with lots of shells that you can test. Like esvu but for the shell.
Might have a little outdated docs, hit me with an issue if you use it and face any problems (I'm also the author).
-
fvm
Flutter Version Manager - POSIX-compliant bash script to manage multiple active flutter versions (by fvm-sh)
-
-
-
I created an alternative because of nvm's slowness: https://github.com/Ajnasz/znvm
Shell Version Manager discussion
Shell Version Manager related posts
-
Migrating from asdf and direnv to mise
-
TIL: timeout in Bash scripts
-
mise vs. asdf for JavaScript project environment management
-
Asdf soon to release go rewrite
-
Rust on a $5 dev board
-
📦 ASDF: Gerenciando versões de linguagens e ferramentas num lugar só
-
Why you should use environment managers to manage multiple versions?
-
A note from our sponsor - SaaSHub
www.saashub.com | 14 Jun 2026
Index
What are some of the best open-source Version Manager projects in Shell? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | nvm | 93,763 |
| 2 | ruby-build | 3,972 |
| 3 | goenv | 2,513 |
| 4 | zsh-nvm | 2,397 |
| 5 | nodenv | 2,379 |
| 6 | asdf-plugins | 1,440 |
| 7 | g | 998 |
| 8 | node-build | 293 |
| 9 | phpvm | 155 |
| 10 | asdf-dotnet-core | 104 |
| 11 | gvm | 57 |
| 12 | woof | 31 |
| 13 | luver | 27 |
| 14 | shell-versions | 26 |
| 15 | fvm | 25 |
| 16 | asdf-raku | 12 |
| 17 | asdf-docker-slim | 6 |
| 18 | znvm | 1 |