CLIActive

asdf

Version manager for multiple programming languages and tools using .tool-versions files.

Open source page ↗

Field note

What it does

asdf is a CLI tool that manages versions of multiple programming languages and tools. Installation involves installing dependencies, downloading asdf, adding it to your shell, installing plugins for each tool, and setting global and local versions via .tool-versions files.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

cli

Not filed / asdf

cli

Shell / https://asdf-vm.com/docs

other

Not filed / Not filed

other

Not filed / Not filed

other

Not filed / Not filed

Product features

Product features

.asdfrc

User-specific configuration file with options like legacy_version_file, always_keep_download, and concurrency.

Binary Distribution

asdf is now distributed as a single binary instead of a set of scripts.

Bypass Shims

Configure asdf

Set up PATH for shims and optional custom data directory and shell completions.

Conventional Commits

Uses Conventional Commits for automated releases.

View Current Version

Show the current version of a tool.

Custom data directory

Optionally set ASDF_DATA_DIR to override default data location.

Custom Data Directory

Set ASDF_DATA_DIR to change where asdf stores plugins and shims.

Data Preservation

Upgrade can be done without losing existing install data by setting ASDF_DATA_DIR.

Download asdf

Download asdf core via official git or community methods.

Environment Variables

Environment variables like ASDF_CONFIG_FILE, ASDF_TOOL_VERSIONS_FILENAME, ASDF_DIR, ASDF_DATA_DIR, and ASDF_CONCURRENCY.

Go Rewrite

asdf 0.16.0 is a complete rewrite in Go, replacing the previous Bash scripts.

Install asdf

Install asdf via package manager, binary, go install, or build from source.

Install Dependencies

Install required dependencies like git and curl.

Install from Source

Clone the asdf repository and run `make` to build from source.

Multiple Installation Methods

Can be installed via package managers, pre-compiled binaries, Go install, or from source.

Install a Plugin

Install a plugin for each tool/runtime to manage.

Documented feature

Install via go install

Install asdf using `go install github.com/asdf-vm/asdf/cmd/asdf@v0.20.0`.

Install via Package Manager

Install asdf using Homebrew, Zypper, or Pacman.

Install via Precompiled Binary

Download and extract a precompiled asdf binary from GitHub releases.

Internationalization

Documentation site supports multiple locales via VitePress i18n.

List Installed

List installed versions of a tool.

Multi-language Support

Supports multiple language runtimes via plugins.

Plugin Hooks

Execute custom code before/after plugin install, reshim, update, uninstall, or command execution.

Plugin System

Install plugins for each tool to manage versions.

Reshim Command

The asdf reshim command regenerates all shims after upgrade.

Set a Version

Set a local or global version for a runtime.

Shell Completion

Enable shell completion for Bash, Fish, Elvish, ZSH, and Nushell.

Shell Integration

Add asdf to your shell for command-line usage.

Shell Script

asdf is a simple Shell script included in Shell config.

Shims Path

Add the shims directory to PATH to use asdf-managed versions.

Simplified Installation

Installation is simplified to three steps: download binary, add shims to PATH, optionally set ASDF_DATA_DIR.

Single Config File

All tool version definitions are in one .tool-versions file, checkable into Git.

.tool-versions

Declare tool versions per directory, supports multiple versions and comments.

.tool-versions File

Define global and local versions via .tool-versions configuration file.

Uninstall Version

Uninstall a specific version of a tool.

Documented feature