Plugins
Plugins are how asdf knows to handle different tools like Node.js, Ruby, Elixir etc.
See Creating Plugins for the plugin API used to support more tools.
Add
Add plugins via their Git URL:
asdf plugin add <name> <git-url>
# asdf plugin add elm https://github.com/vic/asdf-elmor via the short-name association in the plugins repository:
asdf plugin add <name>
# asdf plugin add erlangRecommendation
Prefer the longer git-url method as it is independent of the short-name repo.
List Installed
asdf plugin list
# asdf plugin list
# java
# nodejsasdf plugin list --urls
# asdf plugin list
# java https://github.com/halcyon/asdf-java.git
# nodejs https://github.com/asdf-vm/asdf-nodejs.gitList All in Short-name Repository
asdf plugin list allSee Plugins Shortname Index for the entire short-name list of plugins.
Update
asdf plugin update --allIf you want to update a specific package, just say so.
asdf plugin update <name>
# asdf plugin update erlangThis update will fetch the latest commit on the default branch of the origin of the plugin repository. Versioned plugins and updates are currently being developed (#916)
Remove
asdf plugin remove <name>
# asdf plugin remove erlangRemoving a plugin will remove all installations of the tool made with the plugin. This can be used as a shorthand for cleaning/pruning many unused versions of a tool.
Syncing the asdf Short-name Repository
The short-name repo is synced to your local machine and periodically refreshed. This method to determine a sync is as follows:
- sync events are triggered by commands:
asdf plugin add <name>asdf plugin list all
- if configuration option
disable_plugin_short_name_repositoryis set toyes, then sync is aborted early. See the asdf config docs for more. - if there has not been a synchronization in the last
Xminutes then the sync will occur.Xdefaults to60, but can be configured in your.asdfrcvia theplugin_repository_last_check_durationoption. See the asdf config docs for more.