mirror of
https://github.com/asdf-vm/asdf.git
synced 2024-12-24 12:25:28 -07:00
14 lines
50 KiB
JavaScript
14 lines
50 KiB
JavaScript
|
import{_ as i,c as a,a2 as e,o as t}from"./chunks/framework.BQmytedh.js";const c=JSON.parse('{"title":"Getting Started","description":"","frontmatter":{},"headers":[],"relativePath":"guide/getting-started.md","filePath":"guide/getting-started.md","lastUpdated":1734536933000}'),l={name:"guide/getting-started.md"};function n(h,s,o,p,d,r){return t(),a("div",null,s[0]||(s[0]=[e(`<h1 id="getting-started" tabindex="-1">Getting Started <a class="header-anchor" href="#getting-started" aria-label="Permalink to "Getting Started""></a></h1><p><code>asdf</code> installation involves:</p><ol><li>Installing dependencies</li><li>Downloading <code>asdf</code> core</li><li>Installing <code>asdf</code></li><li>Installing a plugin for each tool/runtime you wish to manage</li><li>Installing a version of the tool/runtime</li><li>Setting global and project versions via <code>.tool-versions</code> config files</li></ol><h2 id="_1-install-dependencies" tabindex="-1">1. Install Dependencies <a class="header-anchor" href="#_1-install-dependencies" aria-label="Permalink to "1. Install Dependencies""></a></h2><p>asdf primarily requires <code>git</code> & <code>curl</code>. Here is a <em>non-exhaustive</em> list of commands to run for <em>your</em> package manager (some might automatically install these tools in later steps).</p><table tabindex="0"><thead><tr><th>OS</th><th>Package Manager</th><th>Command</th></tr></thead><tbody><tr><td>linux</td><td>Aptitude</td><td><code>apt install curl git</code></td></tr><tr><td>linux</td><td>DNF</td><td><code>dnf install curl git</code></td></tr><tr><td>linux</td><td>Pacman</td><td><code>pacman -S curl git</code></td></tr><tr><td>linux</td><td>Zypper</td><td><code>zypper install curl git</code></td></tr><tr><td>macOS</td><td>Homebrew</td><td><code>brew install coreutils curl git</code></td></tr><tr><td>macOS</td><td>Spack</td><td><code>spack install coreutils curl git</code></td></tr></tbody></table><div class="tip custom-block"><p class="custom-block-title">Note</p><p><code>sudo</code> may be required depending on your system configuration.</p></div><h2 id="_2-download-asdf" tabindex="-1">2. Download asdf <a class="header-anchor" href="#_2-download-asdf" aria-label="Permalink to "2. Download asdf""></a></h2><h3 id="official-download" tabindex="-1">Official Download <a class="header-anchor" href="#official-download" aria-label="Permalink to "Official Download""></a></h3><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/asdf-vm/asdf.git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.asdf</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --branch</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> v0.15.0</span></span></code></pre></div><h3 id="community-supported-download-methods" tabindex="-1">Community Supported Download Methods <a class="header-anchor" href="#community-supported-download-methods" aria-label="Permalink to "Community Supported Download Methods""></a></h3><p>We highly recommend using the official <code>git</code> method.</p><table tabindex="0"><thead><tr><th>Method</th><th>Command</th></tr></thead><tbody><tr><td>Homebrew</td><td><code>brew install asdf</code></td></tr><tr><td>Pacman</td><td><code>git clone https://aur.archlinux.org/asdf-vm.git && cd asdf-vm && makepkg -si</code> or use your preferred <a href="https://wiki.archlinux.org/index.php/AUR_helpers" target="_blank" rel="noreferrer">AUR helper</a></td></tr></tbody></table><h2 id="_3-install-asdf" tabindex="-1">3. Install asdf <a class="header-anchor" href="#_3-install-asdf" aria-label="Permalink to "3. Install a
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n"'use asdf _asdf; var asdf~ = $_asdf:asdf~'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/rc.elv</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n"'set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/rc.elv</span></span></code></pre></div><p>Completions are automatically configured.</p></details><details class="details custom-block"><summary>Elvish & Homebrew</summary><p>Add <code>asdf.elv</code> to your <code>~/.config/elvish/rc.elv</code> with:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">mkdir</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/lib</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ln</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (brew </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">--prefix</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> asdf</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)/libexec/asdf.elv </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">~</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">/.config/elvish/lib/asdf.elv</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n"'use asdf _asdf; var asdf~ = $_asdf:asdf~'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/rc.elv</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n"'set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/rc.elv</span></span></code></pre></div><p>Completions are automatically configured.</p></details><details class="details custom-block"><summary>Elvish & Pacman</summary><p>Add <code>asdf.elv</code> to your <code>~/.config/elvish/rc.elv</code> with:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">mkdir</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/lib</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ln</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /opt/asdf-vm/asdf.elv</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/lib/asdf.elv</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n"'use asdf _asdf; var asdf~ = $_asdf:asdf~'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/rc.elv</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n"'set edit:completion:arg-completer[asdf] = $_asdf:arg-completer~'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.config/elvish/rc.elv</span></span></code></pre></div><p>Completions are automatically configured.</p></details><details class="details custom-block"><summary>ZSH & Git</summary><p>Add the following to <code>~/.zshrc</code>:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">.</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/.asdf/asdf.sh"</span></span></code></pre></div><p><strong>OR</strong> use a ZSH Framework plugin like <a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf" target="_blank" rel="noreferrer">asdf for oh-my-zsh</a> which will source this script and setup completions.</p><p>Completions are configured by either a ZSH Framework <code>asdf</code> plugin or by adding the following to your <code>.zshrc</code>:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># append completions to fpath</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">fpath</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(\${ASDF_DIR}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/completions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $fpath)</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># initialise completions with ZSH's compinit</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">autoload</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -Uz</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compinit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> && </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">compinit</span></span></code></pre></div><ul><li>if you are using a custom <code>compinit</code> setup, ensure <code>compinit</code> is below your sourcing of <code>asdf.sh</code></li><li>if you are using a custom <code>compinit</code> setup with a ZSH Framework, ensure <code>compinit</code> is below your sourcing of the framework</li></ul><p><strong>Warning</strong></p><p>If you are using a ZSH Framework the associated <code>asdf</code> plugin may need to be updated to use the new ZSH completions properly via <code>fpath</code>. The Oh-My-ZSH asdf plugin is yet to be updated, see <a href="https://github.com/ohmyzsh/ohmyzsh/pull/8837" target="_blank" rel="noreferrer">ohmyzsh/ohmyzsh#8837</a>.</p></details><details class="details custom-block"><summary>ZSH & Homebrew</summary><p>Add <code>asdf.sh</code> to your <code>~/.zshrc</code> with:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n. $(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">brew</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prefix</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> asdf)/libexec/asdf.sh"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> \${ZDOTDIR</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">~}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/.zshrc</span></span></code></pre></div><p><strong>OR</strong> use a ZSH Framework plugin like <a href="https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/asdf" target="_blank" rel="noreferrer">asdf for oh-my-zsh</a> which will source this script and setup completions.</p><p>Completions are configured by either a ZSH Framework <code>asdf</code> or will need to be <a href="https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh" target="_blank" rel="noreferrer">configured as per Homebrew's instructions</a>. If you are using a ZSH Framework the associated plugin for asdf may need to be updated to use the new ZSH completions properly via <code>fpath</code>. The Oh-My-ZSH asdf plugin is yet to be updated, see <a href="https://github.com/ohmyzsh/ohmyzsh/pull/8837" target="_blank" rel="noreferrer">ohmyzsh/ohmyzsh#8837</a>.</p></details><details class="details custom-block"><summary>ZSH & Pacman</summary><p>Add the following to <code>~/.zshrc</code>:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">.</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /opt/asdf-vm/asdf.sh</span></span></code></pre></div><p>Completions are placed in a ZSH friendly location, but <a href="https://wiki.archlinux.org/index.php/zsh#Command_completion" target="_blank" rel="noreferrer">ZSH must be configured to use the autocompletions</a>.</p></details><details class="details custom-block"><summary>PowerShell Core & Git</summary><p>Add the following to <code>~/.config/powershell/profile.ps1</code>:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Cod
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">.</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/.asdf/asdf.sh"</span></span></code></pre></div></details><details class="details custom-block"><summary>POSIX Shell & Homebrew</summary><p>Add <code>asdf.sh</code> to your <code>~/.profile</code> with:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\nexport ASDF_DIR=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">brew</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prefix</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> asdf)/libexec/asdf.sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.profile</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "\\n. </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">brew</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prefix</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> asdf)/libexec/asdf.sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\"</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> >></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.profile</span></span></code></pre></div></details><details class="details custom-block"><summary>POSIX Shell & Pacman</summary><p>Add the following to <code>~/.profile</code>:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ASDF_DIR</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"/opt/asdf-vm"</span></span>
|
|||
|
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">.</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /opt/asdf-vm/asdf.sh</span></span></code></pre></div></details><p><code>asdf</code> scripts need to be sourced <strong>after</strong> you have set your <code>$PATH</code> and <strong>after</strong> you have sourced your framework (oh-my-zsh etc).</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>On macOS, starting a Bash or Zsh shell automatically calls a utility called <code>path_helper</code>. <code>path_helper</code> can rearrange items in <code>PATH</code> (and <code>MANPATH</code>), causing inconsistent behavior for tools that require specific ordering. To workaround this, <code>asdf</code> on macOS defaults to forcibly adding its <code>PATH</code>-entries to the front (taking highest priority). This is controllable with the <code>ASDF_FORCE_PREPEND</code> variable.</p></div><p>Restart your shell so that <code>PATH</code> changes take effect. Opening a new terminal tab will usually do it.</p><h2 id="core-installation-complete" tabindex="-1">Core Installation Complete! <a class="header-anchor" href="#core-installation-complete" aria-label="Permalink to "Core Installation Complete!""></a></h2><p>This completes the installation of the <code>asdf</code> core 🎉</p><p><code>asdf</code> is only useful once you install a <strong>plugin</strong>, install a <strong>tool</strong> and manage its <strong>versions</strong>. Continue the guide below to learn how to do this.</p><h2 id="_4-install-a-plugin" tabindex="-1">4. Install a Plugin <a class="header-anchor" href="#_4-install-a-plugin" aria-label="Permalink to "4. Install a Plugin""></a></h2><p>For demonstration purposes we will install & set <a href="https://nodejs.org/" target="_blank" rel="noreferrer">Node.js</a> via the <a href="https://github.com/asdf-vm/asdf-nodejs/" target="_blank" rel="noreferrer"><code>asdf-nodejs</code></a> plugin.</p><h3 id="plugin-dependencies" tabindex="-1">Plugin Dependencies <a class="header-anchor" href="#plugin-dependencies" aria-label="Permalink to "Plugin Dependencies""></a></h3><p>Each plugin has dependencies so we need to check the plugin repo where they should be listed. For <code>asdf-nodejs</code> they are:</p><table tabindex="0"><thead><tr><th>OS</th><th>Dependency Installation</th></tr></thead><tbody><tr><td>Debian</td><td><code>apt-get install dirmngr gpg curl gawk</code></td></tr><tr><td>CentOS/ Rocky Linux/ AlmaLinux</td><td><code>yum install gnupg2 curl gawk</code></td></tr><tr><td>macOS</td><td><code>brew install gpg gawk</code></td></tr></tbody></table><p>We should install dependencies first as some Plugins have post-install hooks.</p><h3 id="install-the-plugin" tabindex="-1">Install the Plugin <a class="header-anchor" href="#install-the-plugin" aria-label="Permalink to "Install the Plugin""></a></h3><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">asdf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> plugin</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> nodejs</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/asdf-vm/asdf-nodejs.git</span></span></code></pre></div><h2 id="_5-install-a-version" tabindex="-1">5. Install a Version <a class="header-anchor" href="#_5-install-a-version" aria-label="Permalink to "5. Install a Version""></a></h2><p>Now we have a plugin for Node.js we can install a version of the tool.</p><p>We can see which versions are available with <code>asdf list all nodejs</code> or a subset of versions with <code>asdf list all nodejs 14</code>.</p><p>We will just install the <code>latest</code> availab
|