macOS
brew install asdflocal Homebrew formula metadata
sudo port install asdfMacPorts ports tree · sysutils/asdf/Portfile · source: api.github.com
brew
Extendable version manager with support for Ruby, Node.js, Erlang & more. Version 0.20.0 via Homebrew; verified 2026-07-07.
install
brew install asdflocal Homebrew formula metadata
sudo port install asdfMacPorts ports tree · sysutils/asdf/Portfile · source: api.github.com
sudo apk add asdfAlpine Linux edge package indexes · asdf · source: dl-cdn.alpinelinux.org
nix profile install nixpkgs#asdfnixpkgs package indexes · asdf · source: raw.githubusercontent.com
sudo zypper install asdfopenSUSE Tumbleweed package metadata · asdf · source: download.opensuse.org
overview
Extendable version manager with support for Ruby, Node.js, Erlang & more
history
asdf is an extensible multi-runtime version manager built around one CLI, one per-project `.tool-versions` file, and a plugin system for languages and tools. It became a package-manager favorite because it replaces a pile of language-specific version managers with a single shim and plugin workflow.
The repository was created in 2014 and the README frames asdf as a response to the proliferation of tools such as gvm, nvm, rbenv, and pyenv. Its bundled 'Ballad of asdf' says the author wrote one more version manager after installing many language-specific managers and learning many command sets.
The first tagged version, v0.1.0, was annotated in July 2016. From there asdf grew as a shell-based version manager with plugins, shims, and a shared `.tool-versions` file. Release metadata shows v0.9.0 in 2021 and a rapid 0.10+ to 0.19 series through 2026.
asdf's adoption comes from the plugin model. The official README advertises one CLI for multiple languages, consistent commands, one global config, per-project `.tool-versions`, support for legacy files such as `.node-version`, `.nvmrc`, and `.ruby-version`, and automatic switching as users move between directories.
The input package facts list Alpine, Homebrew, MacPorts, Nix, and openSUSE packaging. In practice, many users also install it directly from Git, then use package-managed plugins for runtimes through asdf's own plugin index and community plugins.
A typical workflow is to install asdf, add a plugin such as Node.js or Ruby, install one or more versions, and set versions globally or in a project. The `.tool-versions` file records tool names and versions, while `~/.asdfrc` holds user-specific settings such as legacy version file behavior, plugin repository sync timing, and concurrency.
asdf is significant because it turns language runtime installation into a plugin packaging problem. It competes with language-native version managers, distro packages, and newer tools, but its stable `.tool-versions` convention became a common project-level contract across mixed-language repositories.
security posture
infrastructure mutation or orchestration signal.
orange risk · medium confidence · infrastructure
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
.tool-versions~/.asdfrcexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
asdf | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/asdf-vm/asdf
install metadata
| Package key | brew:asdf |
|---|---|
| Version | 0.20.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/asdf |
| Homepage | https://asdf-vm.com/ |
| Repository | https://github.com/asdf-vm/asdf |
| Upstream docs | https://asdf-vm.com/guide/getting-started.html |
| License | MIT |
| Source archive | https://github.com/asdf-vm/asdf/archive/refs/tags/v0.20.0.tar.gz |
| Last updated | 2026-07-07T15:31:48Z |
| Pulse | updated |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | asdf |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
asdf
nix profile install nixpkgs#asdfasdf 0.18.0-r10
The Multiple Runtime Version Manager
sudo apk add asdfasdf-doc 0.18.0-r10
The Multiple Runtime Version Manager (documentation)
sudo apk add asdf-docasdf 0.18.1-1.3
Extendable version manager
https://github.com/asdf-vm/asdf
sudo zypper install asdfasdf
sudo port install asdfsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.