asdf

asdf is a version manager for multiple runtimes.

Concepts

  • .tool-versions files specify runtimes and versions on a per-directory basis. These cascade down into subdirectories.
  • ASDF_<RUNTIME>_VERSION environment variables specify runtimes and versions within a shell session.
  • Plugins provide runtimes.
  • Shims ensure that tools installed by runtimes are available on the system path.

Commands

  • update updates asdf itself.
  • which <command> prints the path to the specified command.
  • global <runtime> <version> sets the active version of the specified runtime globally (in ~/.tool-versions).
  • local <runtime> <version> sets the active version of the specified runtime within the working directory (in $PWD/.tool-versions).
  • shell <runtime> <version> sets the active version of the specified runtime within the current shell.
  • exec <command> [args...] executes the command shim for the current runtime version.
  • env <command> [util] prints, or runs the specified utility in, the environment for the current runtime version.
  • latest <runtime> [versionPrefix] shows the latest available version of runtime, optionally filtering by a given prefix.
  • list <runtime> [versionPrefix] lists installed versions of a runtime, optionally filtering by a given prefix.
  • list all <runtime> [versionPrefix] lists available versions of a runtime, optionally filtering by a given prefix.
  • install installs runtime versions from .tool-versions.
  • install <runtime> <version> installs the specified version of a runtime. Use latest:<version> to install the latest available version of a given series or major version.
  • shim-versions [command] prints runtime versions that provide a shim for the specified command.
  • reshim [runtime] [version] generates shims for tools installed by a runtime.
  • plugin:
    • list [--urls] prints currently installed plugins.
    • list all prints all available plugins with defined shortnames.
    • add <plugin> [url] adds the specified plugin via either a shortname) or from the specified repository.
    • update <plugin> updates the specified plugin.
    • remove <plugin> removes the specified plugin.

Backlinks