Side by side
asdf vs nvm
Both stand on runtime version managers. Which one you can start free with, which one lets you read the code, and what each costs once you pay.
Free plan LinuxMac
asdf offers a shared way to select development tool versions, with plugins and several installation routes. Teams should account for its narrow scope and explicitly configure versions or use `system` where appropriate.
Visit asdf Free plan Open source LinuxMacSelf-hosted+1
nvm provides per-user Node.js version management with project pinning and offline installation options. Check shell compatibility, particularly if using Fish or a Windows environment outside WSL.
Visit nvmThe facts
| asdf | nvm | |
|---|---|---|
| Free plan | Yes | Yes |
| Open source | Not published | Yes |
| Runs on | Linux, Mac | Linux, Mac, Self-hosted, Windows |
| Lowest paid plan | Free or on request | Free or on request |
| Plans published | 1 | 1 |
| Maker | Not published | Not published |
| Website | asdf-vm.com | github.com |
| On runtime version managers | #3 of 30 | #1 of 30 |
asdf: what it does well
- Free and open source
- One `.tool-versions` file covers multiple tools
- Supports Bash, ZSH, Fish and Elvish
- Can use existing version files per plugin
- Provides a GitHub Action for CI/CD
What to know first
- Does not manage system packages
- Does not manage upstream dependencies
- Unset tool versions error unless set to `system`
nvm: what it does well
- Free and MIT licensed
- Supports Node.js LTS versions
- Project versions can be specified in .nvmrc
- Can install cached versions offline
- Documented Docker and CI/CD use
What to know first
- Fish shell is not supported
- Windows support depends on the environment
- Only the latest nvm version is supported