For managing non-distro versions of language runtimes I suggest rtx.
$ cat .tool-versions
python system
nodejs latest
rust system
elm latest
$ rtx current
python system
node 20.5.0
rust system
elm 0.19.1
$ rtx local go@latest # go gets installed
$ which go
/home/andy/.local/share/rtx/installs/go/1.21.0/go/bin/go