Skip to content

Core

The core asdf command list is rather small, but can facilitate many workflows.

Installation & Setup

Covered in the Getting Started guide.

Exec

shell
asdf exec <command> [args...]

Executes the command shim for the current version.

Env

shell
asdf env <command> [util]

Info

shell
asdf info

A helper command to print the OS, Shell and asdf debug information. Share this when making a bug report.

Reshim

shell
asdf reshim <name> <version>

This recreates the shims for the current version of a package. By default, shims are created by plugins during installation of a tool. Some tools like the npm CLI allow global installation of executables, for example, installing Yarn via npm install -g yarn. Since this executable was not installed via the plugin lifecycle, no shim exists for it yet. asdf reshim nodejs <version> will force recalculation of shims for any new executables, like yarn, for <version> of nodejs .

Shim-versions

shell
asdf shim-versions <command>

Lists the plugins and versions that provide shims for a command.

As an example, Node.js ships with two executables, node and npm. When many versions of the tools are installed with asdf-nodejs shim-versions can return:

shell
 asdf shim-versions node
nodejs 14.8.0
nodejs 14.17.3
nodejs 16.5.0
shell
 asdf shim-versions npm
nodejs 14.8.0
nodejs 14.17.3
nodejs 16.5.0

Update

Please use the same method you used to install asdf to update it. The latest version of asdf is shown in the top right corner of this page.

Uninstall

To uninstall asdf follow these steps:

Bash & Git
  1. In your ~/.bashrc remove the lines that source asdf.sh and the completions:
shell
. "$HOME/.asdf/asdf.sh"
. "$HOME/.asdf/completions/asdf.bash"
  1. Remove the $HOME/.asdf dir:
shell
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Bash & Git (macOS)
  1. In your ~/.bash_profile remove the lines that source asdf.sh and the completions:
shell
. "$HOME/.asdf/asdf.sh"
. "$HOME/.asdf/completions/asdf.bash"
  1. Remove the $HOME/.asdf dir:
shell
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Bash & Homebrew
  1. In your ~/.bashrc remove the lines that source asdf.sh and the completions:
shell
. $(brew --prefix asdf)/libexec/asdf.sh
. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash

Completions may have been configured as per Homebrew's instructions so follow their guide to find out what to remove.

  1. Uninstall with your package manager:
shell
brew uninstall asdf --force
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Bash & Homebrew (macOS)

If using macOS Catalina or newer, the default shell has changed to ZSH. If you can't find any config in your ~/.bash_profile it may be in a ~/.zshrc in which case please follow the ZSH instructions.

  1. In your ~/.bash_profile remove the lines that source asdf.sh and the completions:
shell
. $(brew --prefix asdf)/libexec/asdf.sh
. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash

Completions may have been configured as per Homebrew's instructions so follow their guide to find out what to remove.

  1. Uninstall with your package manager:
shell
brew uninstall asdf --force
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Bash & Pacman
  1. In your ~/.bashrc remove the lines that source asdf.sh and the completions:
shell
. /opt/asdf-vm/asdf.sh
  1. Uninstall with your package manager:
shell
pacman -Rs asdf-vm
  1. Remove the $HOME/.asdf dir:
shell
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Fish & Git
  1. In your ~/.config/fish/config.fish remove the lines that source asdf.fish:
shell
source ~/.asdf/asdf.fish

and remove completions with this command:

shell
rm -rf ~/.config/fish/completions/asdf.fish
  1. Remove the $HOME/.asdf dir:
shell
rm -rf (string join : -- $ASDF_DATA_DIR $HOME/.asdf)
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Fish & Homebrew
  1. In your ~/.config/fish/config.fish remove the lines that source asdf.fish:
shell
source "(brew --prefix asdf)"/libexec/asdf.fish
  1. Uninstall with your package manager:
shell
brew uninstall asdf --force
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Fish & Pacman
  1. In your ~/.config/fish/config.fish remove the lines that source asdf.fish:
shell
source /opt/asdf-vm/asdf.fish
  1. Uninstall with your package manager:
shell
pacman -Rs asdf-vm
  1. Remove the $HOME/.asdf dir:
shell
rm -rf (string join : -- $ASDF_DATA_DIR $HOME/.asdf)
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Elvish & Git
  1. In your ~/.config/elvish/rc.elv remove the lines that use the asdf module:
shell
use asdf _asdf; var asdf~ = $_asdf:asdf~
set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~

and uninstall the asdf module with this command:

shell
rm -f ~/.config/elvish/lib/asdf.elv
  1. Remove the $HOME/.asdf dir:
shell
if (!=s $E:ASDF_DATA_DIR "") { rm -rf $E:ASDF_DATA_DIR } else { rm -rf ~/.asdf }
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Elvish & Homebrew
  1. In your ~/.config/elvish/rc.elv remove the lines that use the asdf module:
shell
use asdf _asdf; var asdf~ = $_asdf:asdf~
set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~

and uninstall the asdf module with this command:

shell
rm -f ~/.config/elvish/lib/asdf.elv
  1. Uninstall with your package manager:
shell
brew uninstall asdf --force
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Elvish & Pacman
  1. In your ~/.config/elvish/rc.elv remove the lines that use the asdf module:
shell
use asdf _asdf; var asdf~ = $_asdf:asdf~
set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~

and uninstall the asdf module with this command:

shell
rm -f ~/.config/elvish/lib/asdf.elv
  1. Uninstall with your package manager:
shell
pacman -Rs asdf-vm
  1. Remove the $HOME/.asdf dir:
shell
if (!=s $E:ASDF_DATA_DIR "") { rm -rf $E:ASDF_DATA_DIR } else { rm -rf ~/.asdf }
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
ZSH & Git
  1. In your ~/.zshrc remove the lines that source asdf.sh and completions:
shell
. "$HOME/.asdf/asdf.sh"
# ...
fpath=(${ASDF_DIR}/completions $fpath)
autoload -Uz compinit
compinit

OR the ZSH Framework plugin if used.

  1. Remove the $HOME/.asdf dir:
shell
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
ZSH & Homebrew
  1. In your ~/.zshrc remove the lines that source asdf.sh:
shell
. $(brew --prefix asdf)/libexec/asdf.sh
  1. Uninstall with your package manager:
shell
brew uninstall asdf --force && brew autoremove
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
ZSH & Pacman
  1. In your ~/.zshrc remove the lines that source asdf.sh:
shell
. /opt/asdf-vm/asdf.sh
  1. Uninstall with your package manager:
shell
pacman -Rs asdf-vm
  1. Remove the $HOME/.asdf dir:
shell
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
  1. Run this command to remove all asdf config files:
shell
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"

That's it! 🎉