Core
The core asdf
command list is rather small, but can facilitate many workflows.
Installation & Setup
Covered in the Getting Started guide.
Exec
asdf exec <command> [args...]
Executes the command shim for the current version.
Env
asdf env <command> [util]
Info
asdf info
A helper command to print the OS, Shell and asdf
debug information. Share this when making a bug report.
Reshim
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
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:
➜ asdf shim-versions node
nodejs 14.8.0
nodejs 14.17.3
nodejs 16.5.0
➜ asdf shim-versions npm
nodejs 14.8.0
nodejs 14.17.3
nodejs 16.5.0
Update
asdf
has a built in command to update which relies on Git (our recommended installation method). If you installed using a different method you should follow the steps for that method:
Method | Latest Stable Release | Latest commit on master |
---|---|---|
asdf (via Git) | asdf update | asdf update --head |
Homebrew | brew upgrade asdf | brew upgrade asdf --fetch-HEAD |
Pacman | Download a new PKGBUILD & rebuild or use your preferred AUR helper |
Uninstall
To uninstall asdf
follow these steps:
Bash & Git
- In your
~/.bashrc
remove the lines that sourceasdf.sh
and the completions:
. "$HOME/.asdf/asdf.sh"
. "$HOME/.asdf/completions/asdf.bash"
- Remove the
$HOME/.asdf
dir:
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Bash & Git (macOS)
- In your
~/.bash_profile
remove the lines that sourceasdf.sh
and the completions:
. "$HOME/.asdf/asdf.sh"
. "$HOME/.asdf/completions/asdf.bash"
- Remove the
$HOME/.asdf
dir:
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Bash & Homebrew
- In your
~/.bashrc
remove the lines that sourceasdf.sh
and the completions:
. $(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.
- Uninstall with your package manager:
brew uninstall asdf --force
- Run this command to remove all
asdf
config files:
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.
- In your
~/.bash_profile
remove the lines that sourceasdf.sh
and the completions:
. $(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.
- Uninstall with your package manager:
brew uninstall asdf --force
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Bash & Pacman
- In your
~/.bashrc
remove the lines that sourceasdf.sh
and the completions:
. /opt/asdf-vm/asdf.sh
- Uninstall with your package manager:
pacman -Rs asdf-vm
- Remove the
$HOME/.asdf
dir:
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Fish & Git
- In your
~/.config/fish/config.fish
remove the lines that sourceasdf.fish
:
source ~/.asdf/asdf.fish
and remove completions with this command:
rm -rf ~/.config/fish/completions/asdf.fish
- Remove the
$HOME/.asdf
dir:
rm -rf (string join : -- $ASDF_DATA_DIR $HOME/.asdf)
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Fish & Homebrew
- In your
~/.config/fish/config.fish
remove the lines that sourceasdf.fish
:
source "(brew --prefix asdf)"/libexec/asdf.fish
- Uninstall with your package manager:
brew uninstall asdf --force
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Fish & Pacman
- In your
~/.config/fish/config.fish
remove the lines that sourceasdf.fish
:
source /opt/asdf-vm/asdf.fish
- Uninstall with your package manager:
pacman -Rs asdf-vm
- Remove the
$HOME/.asdf
dir:
rm -rf (string join : -- $ASDF_DATA_DIR $HOME/.asdf)
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Elvish & Git
- In your
~/.config/elvish/rc.elv
remove the lines that use theasdf
module:
use asdf _asdf; var asdf~ = $_asdf:asdf~
set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~
and uninstall the asdf
module with this command:
rm -f ~/.config/elvish/lib/asdf.elv
- Remove the
$HOME/.asdf
dir:
if (!=s $E:ASDF_DATA_DIR "") { rm -rf $E:ASDF_DATA_DIR } else { rm -rf ~/.asdf }
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Elvish & Homebrew
- In your
~/.config/elvish/rc.elv
remove the lines that use theasdf
module:
use asdf _asdf; var asdf~ = $_asdf:asdf~
set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~
and uninstall the asdf
module with this command:
rm -f ~/.config/elvish/lib/asdf.elv
- Uninstall with your package manager:
brew uninstall asdf --force
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
Elvish & Pacman
- In your
~/.config/elvish/rc.elv
remove the lines that use theasdf
module:
use asdf _asdf; var asdf~ = $_asdf:asdf~
set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~
and uninstall the asdf
module with this command:
rm -f ~/.config/elvish/lib/asdf.elv
- Uninstall with your package manager:
pacman -Rs asdf-vm
- Remove the
$HOME/.asdf
dir:
if (!=s $E:ASDF_DATA_DIR "") { rm -rf $E:ASDF_DATA_DIR } else { rm -rf ~/.asdf }
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
ZSH & Git
- In your
~/.zshrc
remove the lines that sourceasdf.sh
and completions:
. "$HOME/.asdf/asdf.sh"
# ...
fpath=(${ASDF_DIR}/completions $fpath)
autoload -Uz compinit
compinit
OR the ZSH Framework plugin if used.
- Remove the
$HOME/.asdf
dir:
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
ZSH & Homebrew
- In your
~/.zshrc
remove the lines that sourceasdf.sh
:
. $(brew --prefix asdf)/libexec/asdf.sh
- Uninstall with your package manager:
brew uninstall asdf --force && brew autoremove
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
ZSH & Pacman
- In your
~/.zshrc
remove the lines that sourceasdf.sh
:
. /opt/asdf-vm/asdf.sh
- Uninstall with your package manager:
pacman -Rs asdf-vm
- Remove the
$HOME/.asdf
dir:
rm -rf "${ASDF_DATA_DIR:-$HOME/.asdf}"
- Run this command to remove all
asdf
config files:
rm -rf "$HOME/.tool-versions" "$HOME/.asdfrc"
That's it! 🎉