/asdf

Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

Primary LanguageShellMIT LicenseMIT

asdf-vm Main workflow

Manage multiple runtime versions with a single CLI tool, extendable via plugins - docs at asdf-vm.com

asdf-vm is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language's plugin!

Why use asdf-vm?

  • single CLI for multiple languages
  • consistent commands to manage all your languages
  • single global config keeping defaults in one place
  • single .tool-versions config file per project
  • support for existing config files .node-version, .nvmrc, .ruby-version for easy migration
  • automatically switches runtime versions as you traverse your directories
  • simple plugin system to add support for your language of choice
  • shell completion available for common shells (Bash, Zsh, Fish)

Documentation

Please head over the documentation site for more information!

Contributing

See CONTRIBUTING.md in the repo or the Contributing section on the docs site.

Community & Questions

  • Github IssuesGithub Issues: report a bug or raise a feature request to the asdf core team
  • StackOverflow TagStackOverflow Tag: see existing Q&A for asdf. Some of the core team watch this tag in addition to our helpful community