28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
---
|
|
title: "asdf"
|
|
category: "Languages and runtimes"
|
|
tagline: "A plugin-based version manager for languages and tools, driven by .tool-versions files."
|
|
source: "AUR"
|
|
package: "asdf-vm"
|
|
command: "asdf"
|
|
website: "https://asdf-vm.com/"
|
|
code: "https://github.com/asdf-vm/asdf"
|
|
links:
|
|
- name: "Getting started with asdf"
|
|
url: "https://asdf-vm.com/guide/getting-started.html"
|
|
---
|
|
|
|
## What it is
|
|
|
|
asdf manages several versions of programming languages and tools, such as Node.js, Ruby, Python or Elixir, through plugins. A `.tool-versions` file in a project lists the versions it needs, and asdf uses them whenever you work in that directory.
|
|
|
|
## Why it's here
|
|
|
|
- **One manager, many languages.** Plugins cover hundreds of tools.
|
|
- **Shared project files.** Many projects already ship a `.tool-versions` file.
|
|
- **An alternative to mise.** For teams and scripts that expect asdf.
|
|
|
|
## On CoreDesktop
|
|
|
|
asdf is installed from the AUR, but CoreDesktop doesn't add it to your shell: follow asdf's getting started guide to put its shims on your PATH. CoreDesktop manages Ruby with [mise](/software/mise/), which reads `.tool-versions` files too. `update` keeps asdf current with the rest of the AUR packages.
|