Install asdf
plugins and programming languages with dotbot
.
This plugin requires dotbot
to be installed.
Also, at runtime this plugin requires asdf
command to be installed.
- Run:
git submodule add https://github.com/sobolevn/dotbot-asdf.git
- Modify your
./install
with new plugin directory:
"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" --plugin-dir dotbot-asdf -c "${CONFIG}" "${@}"
Add required options to your install.conf.yaml
:
# This example uses python, nodejs and ruby plugins:
- asdf:
- plugin: python
url: https://github.com/tuvistavie/asdf-python.git
- plugin: nodejs
url: https://github.com/asdf-vm/asdf-nodejs.git
- plugin: ruby
url: https://github.com/asdf-vm/asdf-ruby.git
Plugins can also be specified with just a name for known plugins:
# This example uses python, nodejs and ruby plugins:
- asdf:
- plugin: python
- plugin: nodejs
- plugin: ruby
With asdf 0.16.0+, you can set default versions using either the default
parameter (recommended) or the legacy global
parameter:
# This example installs python 3.7.4, nodejs 12.10 and ruby 2.6.4:
- asdf:
- plugin: python
url: https://github.com/tuvistavie/asdf-python.git
default: 3.7.4 # For asdf 0.16.0+ (recommended)
versions:
- 3.7.4
- plugin: nodejs
url: https://github.com/asdf-vm/asdf-nodejs.git
global: 12.10 # Legacy syntax, still supported for backward compatibility
versions:
- 12.10
- plugin: ruby
url: https://github.com/asdf-vm/asdf-ruby.git
default: 2.6.4
versions:
- 2.6.4
You can also set versions in the current directory or parent directories:
- asdf:
- plugin: python
url: https://github.com/tuvistavie/asdf-python.git
versions:
- 3.10.4
- 3.11.0
default: 3.10.4 # Set in home directory (replaces global)
local: 3.11.0 # Set in current directory
- plugin: nodejs
url: https://github.com/asdf-vm/asdf-nodejs.git
versions:
- lts-hydrogen
parent: # Set in parent directory
version: lts-hydrogen
It's also possible to configure the location for asdf in case asdf itself was
installed as part of the dotbot install process. This will cause the plugin to
source the provided script before every asdf command.
Only the first instance of asdf_path
in the configuration will be respected.
- asdf:
- asdf_path: /opt/asdf-vm/asdf.sh
- plugin: python
default: 3.10.4
versions:
- 3.10.4
This plugin is fully compatible with asdf 0.16.0+ and supports the new command structure:
- The deprecated
asdf global
command has been replaced withasdf set --home
- The plugin supports both the older
global
parameter and the newerdefault
parameter for backward compatibility - New features like setting versions in parent directories (
parent.version
) are supported
For more information on asdf 0.16.0+ changes, see the asdf upgrade guide.
MIT. See LICENSE for more details.