Installing and using asdf

The cli asdf tool is a version manager that allows you to manage multiple runtime versions of various programming languages and tools. It provides a unified interface to install and switch between versions of languages like Python, Ruby, Node.js, Elixir, Go, and more, all from a single command-line interface.

Here’s what it does:

  • Version Management: It allows you to install and manage different versions of various programming languages and tools, switching between them as needed for different projects.

  • Global and Local Versions: You can set global versions of tools for your system, or define specific versions for individual projects. The tool can automatically detect which version to use based on your project directory.

  • Plugin-Based: asdf uses a plugin system to support different languages and tools. You can add or remove plugins to extend its functionality, supporting a wide range of programming environments.

  • Environment Management: By managing different versions of runtimes, asdf helps ensure that your development environment is consistent across different projects and systems.

  • It’s especially useful for developers who work with multiple languages and tools across different projects and need to easily switch between them.

Install asdf on mac

To install asdf Mac OS X leverage homebrew

brew install asdf

Install asdf plugins

Once asdf is install you can use this to managed various plugins

Command Cheatsheet

CommandDescription
asdf plugin list allLists all plugins
asdf plugin list all | grep <plugin-name>Search for the plugins you require
asdf plugin add <plugin-name>Add a particulary plugin using asdf
asdf plugin listUsing asdf search for installed plugins
asdf list all <plugin-name>List all versions of the <plugin-name>
asdf install <plugin> <version>Install a plugin version
asdf global <plugin> <version>Set version of a plugin globally
asdf local <plugin> <version>Set version of a plugin locally for project
asdf reshim golangRegenerates the various shims

Reference Documentation

For a full list of documentation see the following link