One tool to rule them all.
asdf
is a tool version manager. Manage each of your project runtimes with a single CLI tool and command interface.
Features:
- Large ecosystem of existing runtimes & tools. Simple API to add support for new tools as you need!
- Support for existing config files .nvmrc, .node-versions, .ruby-version for smooth migration!
- .tool-versions to manage all your tools, runtimes and their versions in a single, sharable place.
- Supports Bash, ZSH, Fish & Elvish with completions available.
- Provides a GitHub Action to install and utilize your .tool-versions in your CI/CD workflows.
Install ASDF
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.0
Add to ~/.bashrc
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
Basic commands
- Update asdf
asdf update
- Add plugin (eg.: ruby)
asdf plugin add ruby
- List all languages plugin:
asdf plugin list
or
asdf plugin list --urls
- Update plugins
asdf plugin update --all
or
asdf plugin update ruby
- Remove plugin
asdf plugin remove ruby
- List all possible ruby versions
asdf list-all ruby
- Install a ruby version using ruby plugin
asdf install ruby 3.0.0
- List all installed ruby versions
asdf list ruby
- Check current version of language plugin
asdf current ruby
- Check current version of all languages plugin
asdf current
- Check installation path of plugin version
asdf where
- Change plugin version locally/globally
asdf local ruby 3.0.0
or
asdf global ruby 2.7.2
Remove asdf
- Remove following from
~/.bashrc
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
- Run:
rm -rf ${ASDF_DATA_DIR:-$HOME/.asdf} ~/.tool-versions
Top comments (0)