asdf vs elan
asdf
asdf-vm.comelan
github.comSide by side
| Figure | asdf | elan |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Runtime Version Managers | 8.1 (#6) | 7.7 (#9) |
| Spec score · Development Environment Managers | 8.0 (#15) | 7.7 (#24) |
| Purpose | asdf is a tool version manager that uses one `.tool-versions` file to share exact tool versions with a project team. | elan manages installations of the Lean theorem prover. |
Plans
In their own words
asdf
asdf is a free, open-source version manager for Linux and macOS. It gives project teams one command interface and a shared `.tool-versions` file for selecting exact versions of multiple tools and runtimes. Plugins support tools such as Node.js, Ruby, and Elixir, while the plugin API allows additional tools. When a command runs, asdf searches for configuration from the current directory upward toward the home directory, then uses shims to launch the selected executable. Existing `.ruby-version`, `.nvmrc`, and `.node-version` files can be supported per plugin. Listed shell support includes Bash, ZSH, Fish, and Elvish, with completions. A GitHub Action uses `.tool-versions` in CI/CD workflows. Installation options include Homebrew, Zypper, Pacman, precompiled binaries, Go, and source builds. asdf manages tool versions rather than system packages or upstream dependencies. If no version is set, execution errors unless the tool is configured as `system`.
elan
elan manages installations of the Lean theorem prover on Linux, macOS and Windows. Its `lean` and `lake` binaries use a project’s `lean-toolchain` file to select the specified Lean version and download it when needed. The separate `elan` command provides manual control to install, select, run or uninstall Lean versions. The project supports version pinning, lockfiles, automatic switching, shell integration and CI/CD use. Installation options include shell instructions for Linux and macOS, a PowerShell method for Windows, and release downloads for supported platforms. The README recommends the Nixpkgs version on NixOS because toolchains downloaded by elan require patching there. Lake needs git to download dependencies. The project describes itself as a fork of rustup adapted for Lean infrastructure. elan is free at free, and the repository lists Apache-2.0 and MIT licenses. The releases page identifies v4.2.4 as the latest release.