TL;DR — Quick Summary

fnm (Fast Node Manager) switches Node.js versions instantly. Written in Rust — 40x faster than nvm. Automatic version switching with .node-version or .nvmrc per project.

fnm switches Node versions instantly. 40x faster than nvm — automatic per-project switching.

Installation

# macOS
brew install fnm

# Cargo
cargo install fnm

# Shell setup (add to ~/.bashrc or ~/.zshrc)
eval "$(fnm env --use-on-cd)"

Usage

# Install Node.js versions
fnm install 20
fnm install --lts
fnm install 18.17.0

# Switch versions
fnm use 20
fnm use --lts
fnm default 20

# List installed versions
fnm list

# Per-project version
echo "20" > .node-version
# fnm auto-switches when entering directory

Summary

  • fnm manages Node.js versions — 40x faster than nvm
  • Reads .node-version and .nvmrc files
  • Automatic per-directory version switching
  • Cross-platform: macOS, Linux, Windows
  • Written in Rust — instant version switching