asdf works great for that purpose. And you can either use a single .tool-versions file or enable legacy support for compatibility with pyenv rbenv etc.
Plus is supports many more tools than just the language vms
Plus is supports many more tools than just the language vms
Volta exists but alas, it's only for JavaScript.