Using Turmeric with mise or asdf

The asdf-turmeric plugin installs Turmeric compiler versions from the official GitHub releases and plugs into both mise and asdf. You do not need tvm to use it -- the plugin is a self-contained installer.

Pick whichever tool you already use; the plugin works the same either way.

Why this exists alongside tvm

tvm is the recommended path for users who don't already run a version manager. If you are already invested in mise or asdf for other languages, this plugin lets you manage Turmeric the same way -- shared shims, shared .tool-versions/.mise.toml, no second tool to bootstrap.

The plugin and tvm are independent installers that consume the same GitHub release artifacts. Use whichever fits your setup; you don't need both.

With mise

Install mise

If you don't have mise yet, follow https://mise.jdx.dev/getting-started.html. On macOS:

brew install mise
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc      # or .bashrc
exec $SHELL

Add the plugin and install Turmeric

mise plugin install turmeric https://github.com/rjungemann/asdf-turmeric.git
mise install turmeric@latest

Pin a version

Globally:

mise use --global turmeric@0.23.1

Per-project (writes .mise.toml in the current directory):

mise use turmeric@0.23.1

tur on PATH then resolves to the pinned version. The plugin exports TUR_STDLIB_DIR automatically, so the bundled stdlib is found without any extra setup.

One-off invocations

mise exec turmeric@0.23.1 -- tur --version

With asdf

Install asdf

If you don't have asdf yet, follow https://asdf-vm.com/guide/getting-started.html. On macOS:

brew install asdf
echo '. /opt/homebrew/opt/asdf/libexec/asdf.sh' >> ~/.zshrc      # or .bashrc
exec $SHELL

Add the plugin and install Turmeric

asdf plugin add turmeric https://github.com/rjungemann/asdf-turmeric.git
asdf install turmeric latest

Pin a version

Globally:

asdf global turmeric 0.23.1

Per-project (writes .tool-versions in the current directory):

asdf local turmeric 0.23.1

Source-build fallback

When no prebuilt asset exists for the host (currently macOS x86_64, or older tags from before the prebuilt era), the plugin downloads the source tarball and builds with cmake instead. This needs:

Pass ASDF_TURMERIC_FORCE_SOURCE=1 to force the source-build path even when a prebuilt asset is available.

.tool-versions vs .tur-version

tvm reads .tur-version; mise/asdf read .mise.toml / .tool-versions. Pick one source of truth per repo. If you are using mise or asdf, .mise.toml (or .tool-versions) is the canonical pin; do not also commit a .tur-version.

Troubleshooting