Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Runtime Version Managers
  3. fnm

fnm

What it is

fnm is a free Node.js version manager built in Rust for developers who manage versions from a command line or shell. It supports macOS, Windows, and Linux, and is distributed as a single file through installation scripts, package managers, Cargo, or release binaries. Projects can use `.node-version` and `.nvmrc` files, and shell setup can switch Node.js versions automatically when changing directories. Setup instructions cover Bash, Zsh, Fish, PowerShell, Windows Command Prompt, and Cmder. The binary includes completions for Bash, Zsh, Fish, and PowerShell. On macOS and Linux, the installation script requires `curl` and `unzip`. The project identifies its license as GPL-3.0 and invites pull requests, with issues available for project interaction. The project page reports no published security advisories, while also noting that it has not set up a SECURITY.md file. No paid plans are listed.

For and against

For

  • Supports macOS, Windows, and Linux
  • Works with `.node-version` and `.nvmrc` files
  • Can switch versions when changing directories
  • Shell guidance covers six environments
  • Completions included for four shells

Against

  • macOS and Linux install script requires `curl` and `unzip`
  • Project has not set up a SECURITY.md file

The verdict

fnm offers shell-focused version management across three operating systems, with project file support and automatic switching. Installation-script users on macOS or Linux need `curl` and `unzip`; the project page also notes the absence of a SECURITY.md file.

Who it suits

fnm suits developers managing Node.js versions from a shell, particularly those working across supported operating systems or using project version files.

Plans and prices

fnm

Free

No paid plans listed

Every plan, in full

On the record

Automatic switching
Shell setup can enable automatic Node.js version switching when changing directories.github.com · read 30 Sep 2026
Completions
The binary includes completions for Bash, Zsh, Fish, and PowerShell.github.com · read 30 Sep 2026
Cross-platform
The project lists support for macOS, Windows, and Linux.github.com · read 30 Sep 2026
Installation
fnm is distributed as a single file and supports installation scripts, package managers, Cargo, and release binaries.github.com · read 30 Sep 2026
Install prerequisites
The macOS and Linux installation script requires `curl` and `unzip` to be installed.github.com · read 30 Sep 2026
License
The repository identifies its license as GPL-3.0.github.com · read 30 Sep 2026
Purpose
fnm is a fast and simple Node.js version manager built in Rust.github.com · read 30 Sep 2026
Security advisories
The project page reports that there are no published security advisories.github.com · read 30 Sep 2026
Security policy
GitHub reports that the project has not set up a SECURITY.md file.github.com · read 30 Sep 2026
Shell integrations
The README provides setup instructions for Bash, Zsh, Fish, PowerShell, Windows Command Prompt, and Cmder.github.com · read 30 Sep 2026
Support and contributions
The README invites pull requests and links to issues for project interaction.github.com · read 30 Sep 2026
Version files
fnm works with `.node-version` and `.nvmrc` files.github.com · read 30 Sep 2026
Who it is for
Its documented features and integrations are aimed at developers managing Node.js versions from their command line and shell.github.com · read 30 Sep 2026

Alternatives to fnm

Every alternative, ranked