Search for a command to run...
Extensible runtime and tool version manager that consolidates multiple language and runtime managers into a single CLI. Replaces tool-specific managers like nvm, rbenv, and pyenv with one interface and one shared config file that teams can commit to version control.
Adopted widely for its plugin-based architecture and unified workflow. Stands out by letting you manage Ruby, Node.js, Elixir, Erlang, Python, Go, and hundreds of other tools through the same commands and config format. Recognizes existing config files such as .nvmrc, .node-version, and .ruby-version for straightforward migration from older managers.
Key features:
.tool-versions file for all tools across a project.tool-versions in CI/CD pipelines.tool-versions per directoryTeams use it to lock runtime versions per project and share them via Git. Developers switching between projects or languages avoid juggling multiple version managers. CI and local environments stay aligned through the same .tool-versions config.