ohmyzsh/plugins/asdf
Muhammed Oguz 4bc1d27ef5 fix(asdf): allow plugin to initialize if asdf is installed in ~/.asdf
Previously, the plugin exited early if the `asdf` command was not already
in $PATH:

  (( ! $+commands[asdf] )) && return

This broke valid setups where `asdf` is installed manually in ~/.asdf
and not yet sourced globally (e.g., via .zshrc). Such installs are still
recommended in the official asdf documentation.

This change replaces the early exit with a check for the presence of
~/.asdf, so the plugin only runs if the user has a modern asdf setup,
while avoiding premature return before `$PATH` and completions are set up.

This preserves the new plugin behavior (removal of legacy <0.16 logic),
while restoring compatibility for the common manual install path.
2025-04-11 12:09:47 +03:00
..
asdf.plugin.zsh fix(asdf): allow plugin to initialize if asdf is installed in ~/.asdf 2025-04-11 12:09:47 +03:00
README.md docs(asdf): match README with 0.16 (#13026) 2025-03-29 10:42:46 +01:00

asdf

Adds integration with asdf, the extendable version manager, with support for Ruby, Node.js, Elixir, Erlang and more.

Installation

  1. Install asdf and ensure that's it's discoverable on $PATH;
  2. Enable it by adding it to your plugins definition in ~/.zshrc:
plugins=(asdf)

Usage

Refer to the asdf plugin documentation for information on how to add a plugin and install the many runtime versions for it.

Example for installing the nodejs plugin and the many runtimes for it:

# Add plugin to asdf
asdf plugin add nodejs 

# Install the latest available nodejs runtime version
asdf install nodejs latest

# Install nodejs v16.5.0 runtime version
asdf install nodejs 16.5.0

# Set the latest version in .tools-version in the current working directory
asdf set nodejs latest

# Set a version globally that will apply to all directories under $HOME
asdf set -u nodejs 16.5.0

Maintainer