mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-18 09:34:24 +00:00
Added asdf notes to the knowledge base
This commit is contained in:
124
knowledge base/asdf.md
Normal file
124
knowledge base/asdf.md
Normal file
@@ -0,0 +1,124 @@
|
||||
# ASDF
|
||||
|
||||
`asdf` is a CLI tool to manage multiple language runtime versions on a per-project basis. It works like `gvm`, `nvm`, `rbenv` and `pyenv` (and more) all in one.
|
||||
|
||||
## TL;DR
|
||||
|
||||
```shell
|
||||
# list installed plugins
|
||||
asdf plugin list
|
||||
|
||||
# list available plugins
|
||||
asdf plugin list all
|
||||
|
||||
# install plugins
|
||||
asdf plugin add helm
|
||||
|
||||
# update plugins
|
||||
asdf plugin update kubectl
|
||||
asdf plugin update --all
|
||||
|
||||
# remove plugins
|
||||
asdf plugin remove terraform
|
||||
|
||||
# list installed versions
|
||||
asdf list elixir
|
||||
|
||||
# list available versions
|
||||
asdf list all elixir
|
||||
|
||||
# install a version
|
||||
asdf install erlang latest
|
||||
asdf install terraform 1.1.1
|
||||
|
||||
# set a specific installed version to use
|
||||
asdf global helm 3.3 3.2
|
||||
asdf shell erlang latest
|
||||
asdf local elixir system
|
||||
|
||||
# uninstall a version
|
||||
asdf uninstall helm 3.3
|
||||
|
||||
# show the current status
|
||||
asdf current
|
||||
asdf current helm
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
```shell
|
||||
# install the program
|
||||
brew install asdf
|
||||
|
||||
# load its shell file and completion
|
||||
# or just load oh-my-zsh's plugin
|
||||
. $(brew --prefix asdf)/asdf.sh
|
||||
```
|
||||
|
||||
## Plugins management
|
||||
|
||||
```shell
|
||||
# list installed plugins
|
||||
asdf plugin list
|
||||
asdf plugin list --urls
|
||||
|
||||
# list all plugins (available too)
|
||||
asdf plugin list all
|
||||
|
||||
# asdf plugin add $PLUGIN_NAME [$PLUGIN_URL]
|
||||
asdf plugin add helm
|
||||
|
||||
asdf plugin update --all
|
||||
asdf plugin update $PLUGIN_NAME
|
||||
|
||||
asdf plugin remove $PLUGIN_NAME
|
||||
```
|
||||
|
||||
### Plugins gotchas
|
||||
|
||||
`asdf plugin list all` or `asdf plugin add $PLUGIN_NAME` also trigger a sync to the plugins repository.
|
||||
|
||||
## Versions management
|
||||
|
||||
```shell
|
||||
# list installed versions for a plugin
|
||||
# asdf list $PLUGIN_NAME
|
||||
asdf list elixir
|
||||
|
||||
# list all available versions for a plugin
|
||||
# asdf list all $PLUGIN_NAME
|
||||
asdf list all elixir
|
||||
|
||||
# install a plugin version
|
||||
# asdf install $PLUGIN_NAME $PLUGIN_VERSION
|
||||
asdf install erlang latest
|
||||
|
||||
# check current plugin version
|
||||
# asdf current [$PLUGIN_NAME]
|
||||
asdf current
|
||||
asdf current helm
|
||||
|
||||
# set plugin version
|
||||
# asdf global|shell|local $PLUGIN_NAME $PLUGIN_VERSION [$PLUGIN_VERSION,...]
|
||||
asdf global helm 3.3 3.2
|
||||
asdf shell erlang latest
|
||||
asdf local elixir latest
|
||||
|
||||
# fallback to system version
|
||||
# asdf local $PLUGIN_NAME system
|
||||
asdf local python system
|
||||
|
||||
# uninstall a version
|
||||
# asdf uninstall $PLUGIN_NAME $PLUGIN_VERSION
|
||||
asdf uninstall helm 3.3
|
||||
```
|
||||
|
||||
## Further readings
|
||||
|
||||
- the project's [homepage]
|
||||
- the project's [github] page
|
||||
- [plugins list]
|
||||
|
||||
[github]: https://github.com/asdf-vm/asdf
|
||||
[homepage]: https://asdf-vm.com/
|
||||
[plugins list]: https://github.com/asdf-vm/asdf-plugins
|
||||
Reference in New Issue
Block a user