Skip to content
SPECIFICTION
Get listed

fnm vs nvm

fnm

github.com

nvm

github.com

Side by side

Figurefnmnvm
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published12
Spec score · Runtime Version Managers7.9 (#8)8.5 (#4)
Spec score · Development Environment Managers7.8 (#21)8.4 (#10)
Automatic switchingShell setup can enable automatic Node.js version switching when changing directories.Automatic directory switching is documented as user-added bash or zsh hooks rather than built into the core command.
LicenseThe repository identifies its license as GPL-3.0.nvm is distributed under the MIT License, permitting use, modification, distribution and sale subject to retaining notices.
Purposefnm is a fast and simple Node.js version manager built in Rust.nvm lets users install and use different Node.js versions from the command line.
Security advisoriesThe project page reports that there are no published security advisories.The repository lists 2026 advisories involving malicious mirrors, path traversal and command injection, with severities from low to high.

Plans

fnm

  • fnmFree

fnm pricing →

nvm

  • nvmFree
  • nvmFree

nvm pricing →

In their own words

fnm

fnm is a free Node.js version manager built in Rust for developers working from a command line or shell. It runs on macOS, Windows, and Linux, and is distributed as a single file through installation scripts, package managers, Cargo, or release binaries. It reads `.node-version` and `.nvmrc` files, so projects can specify a Node.js version. Shell setup can also enable automatic version switching when changing directories. The project provides setup instructions for Bash, Zsh, Fish, PowerShell, Windows Command Prompt, and Cmder. Its binary includes completions for Bash, Zsh, Fish, and PowerShell. On macOS and Linux, the installation script requires `curl` and `unzip`. The repository identifies the license as GPL-3.0 and invites pull requests, with issues available for project interaction. No paid plans are listed. The project page reports no published security advisories, while also noting that it has not set up a SECURITY.md file.

Visit github.com

nvm

nvm is a free, MIT-licensed command-line tool for installing and managing Node.js versions. It is designed for installation per user and invocation per shell, and works in POSIX-compliant shells including sh, dash, ksh, zsh, and bash. Users can install specific versions, switch between them, set aliases such as a default, and use LTS aliases and commands to select long-term support versions. A project can specify its Node.js version in an.nvmrc file; documented shell snippets can support automatic switching. During installation, nvm can reinstall global npm packages from another installed Node.js version. With the --offline flag, it can install a version that was previously downloaded or cached without network access. The project documents use in Docker, including an example for CI/CD jobs. On Windows, nvm can work through WSL and may work with Git Bash or Cygwin depending on the environment. Fish shell is not supported, and the project points users to community alternatives. The project states that only the latest nvm version is supported.

Visit github.com