Automic VaultAutomic Vault

brew

Install asdf with Homebrew, apk, MacPorts, Nix, zypper

Extendable version manager with support for Ruby, Node.js, Erlang & more. Version 0.20.0 via Homebrew; verified 2026-07-07.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install asdf

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install asdf

MacPorts ports tree · sysutils/asdf/Portfile · source: api.github.com

overview

Package summary

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

Commands and aliases

  • asdf

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2014: GitHub repository created.
  • 2016: v0.1.0 annotated as the first tagged version.
  • 2021: v0.9.0 release published.
  • 2025: v0.16.0 release published.
  • 2026: v0.19.0 release published.

Related projects

  • gvm, nvm, rbenv, and pyenv are named by the README as comparable language-specific tools.
  • asdf-plugins is the official plugin short-name index.
  • asdf-plugin-template and asdf-vm/actions support plugin creation and CI workflows.

security posture

Risk level: orange

infrastructure mutation or orchestration signal.

Risk classifier

orange risk · medium confidence · infrastructure

Why

  • infrastructure mutation or orchestration signal

Signals

  • text:version manager

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Unix
.tool-versions~/.asdfrc

executables

Installed executables

CommandKindExposureNote
asdfcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version0.20.0
manager updated2026-07-07
local dataok
upstreamcurrent
latest detectedv0.20.0

https://github.com/asdf-vm/asdf

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:asdf
Version0.20.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/asdf
Homepagehttps://asdf-vm.com/
Repositoryhttps://github.com/asdf-vm/asdf
Upstream docshttps://asdf-vm.com/guide/getting-started.html
LicenseMIT
Source archivehttps://github.com/asdf-vm/asdf/archive/refs/tags/v0.20.0.tar.gz
Last updated2026-07-07T15:31:48Z
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameasdf
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

asdf

nix profile install nixpkgs#asdf
  • normalized package name match
  • Matched by: Asdf
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: asdf from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
apk95%

asdf 0.18.0-r10

The Multiple Runtime Version Manager

https://asdf-vm.com/

sudo apk add asdf
  • License: MIT
  • Architecture: x86_64
  • Source Package: asdf
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Asdf
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: asdf from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
apk95%

asdf-doc 0.18.0-r10

The Multiple Runtime Version Manager (documentation)

https://asdf-vm.com/

sudo apk add asdf-doc
  • License: MIT
  • Architecture: x86_64
  • Source Package: asdf
  • normalized package name match
  • Matched by: Asdf
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: asdf-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
zypper95%

asdf 0.18.1-1.3

Extendable version manager

https://github.com/asdf-vm/asdf

sudo zypper install asdf
  • License: MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: asdf
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Asdf
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: asdf from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

asdf

sudo port install asdf
  • normalized package name match
  • Matched by: Asdf
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/asdf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment