asdf: Multi-language runtime version manager
Unified CLI for managing multiple language runtime versions, replacing nvm, rbenv, pyenv with one tool.
Learn more about asdf
asdf is a CLI-based version manager that handles multiple programming language runtimes through a plugin architecture. It uses a single `.tool-versions` configuration file per project to specify required versions and automatically switches between them when navigating directories. The tool maintains backward compatibility with existing version files from other managers and provides consistent commands across all supported languages. It serves as a unified replacement for language-specific version managers in development environments.
Plugin Architecture
Extensible system where each language is supported through community-maintained plugins. New languages can be added without modifying the core tool.
Unified Configuration
Single `.tool-versions` file manages all language versions per project. Supports migration from existing version files like `.nvmrc` and `.ruby-version`.
Automatic Switching
Detects project configuration files and switches runtime versions automatically when entering directories. Works across multiple shell environments including Bash, Zsh, and Fish.
v0.18.0
- –`asdf list` exit with status code of 0 when no versions installed (#2116) (e7d5289)
- –correct flag handling in commands run by `asdf exec` (#2115) (d6cd693)
- –only return version starting with number when no filter is supplied (#2120) (cf29b51)
- –print all error output to stderr when shim can't be resolved (#2109) (c9049ea)
- –rename tool version filename environment variable for clarity (#2101) (e3d6014)
v0.17.0
- –add back support for shim templates resolution (#2076) (a3bccea)
- –log failure to add plugin in "plugin test" (#2059) (92de803)
- –switch back to native git client (#1998) (1efa2bb)
- –address linter warning (67581cf)
- –correct intersection logic in `shims.FindExecutable` function so ordering of multiple versions is preserved (#2063) (083f20a)
v0.16.7
- –remove comment from first line zsh completion output (#2035) (#2037) (74d7b17)
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
python-dotenv
Parse and load .env files into Python environments.
redoc
React component rendering OpenAPI specifications as interactive HTML documentation.
httpx
Fast HTTP probing with response metadata extraction.
EPG
Node.js toolkit for downloading EPG data from hundreds of TV sources into standardized XML format.
vite
Native ESM dev server with Rollup production builds.