nvm VS fnm

Compare nvm vs fnm and see what are their differences.


Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions (by nvm-sh)


🚀 Fast and simple Node.js version manager, built in Rust (by Schniz)
Our great sponsors
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SaaSHub - Software Alternatives and Reviews
nvm fnm
304 59
72,011 14,005
1.2% -
8.1 4.2
5 days ago 8 days ago
Shell Rust
MIT License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of nvm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-21.


Posts with mentions or reviews of fnm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-03.
  • Everything I Installed on My New Mac
    11 projects | dev.to | 3 Jun 2023
    fnm is a fast and simple Node.js version manager. It's really easy to use and is much faster than nvm.
  • Report on platform-compliance for cargo directories
    9 projects | /r/rust | 23 May 2023
    As a macOS user, it boils my brain whenever I've to type in something like ~/Library/Application Support/org.rust-lang.Cargo/config.toml. macOS users have been begging CLI tools to support XDG variables on macOS too. Setting defaults is a strong indication to the community what should be the "preferred" locations. The defaults defined in your article will invariably lead to some authors saying that if that path is good enough for cargo, then it is good enough for their tool. Even the latest draft RFC acknowledges that macOS should use XDG variables too. I've written more about this here.
  • Any plans to update Pop base?
    2 projects | /r/pop_os | 9 May 2023
    Install something like Fast Node Manager from https://github.com/Schniz/fnm and install your Node from there. I work in the software field and tend to use the LTS releases for the TypeScript/React projects I work on.
  • Building a modern gRPC-powered microservice using Node.js, Typescript, and Connect
    15 projects | dev.to | 20 Apr 2023
    You’ll need pnpm and Node.js installed on your machine + some tool for switching node versions (e.g. fnm or nvm will work fine);
  • Nvm or homebrew for Node install
    5 projects | /r/webdev | 11 Apr 2023
    Listing people's recommendations with links below. I'm glad I asked this question. I received a lot of good recommendations. Thanks All! * nvm (https://nvm.sh) - Simple to use and easy to follow instructions with more in-depth configuration for those that need it. Some experienced a slightly slower terminal. Supports nodjs, iojs, and node version per project/directory. * fnm (https://github.com/Schniz/fnm) - Built with speed in mind. It is like nvm, but faster. Also supports node version per project/directory. * Volta (https://volta.sh/) - Looks easy to use and has good documentation. * asdf (https://asdf-vm.com/) - Supports multiple runtimes and tools by adding plugins. Admittedly, is a bit confusing and more than I need right now (Node, Rust, Python, Ruby, etc.) * Homebrew (https://brew.sh/) - Not a version manager but can act like one by installing nvm, fnm, asdf, or others. Some additional configuration may be needed. * Proto (https://moonrepo.dev/proto) - Supports Bun, Deno, Node.js (npm, pnpm, yarn), Rust, and Go. Also good documentation. Setup looks a bit complex to me :/. * n (https://github.com/tj/n) - Supports Node and npm per project. Simple and to the point.
  • The next generation node version manager
    4 projects | /r/node | 3 Apr 2023
    Faster than Fast Node Manager (FNM) written in Rust? https://github.com/Schniz/fnm
  • Is Pop!_OS aiming to be an immutable OS?
    3 projects | /r/pop_os | 26 Jan 2023
  • How to Install Multiple Node.js Versions On the Same Machine
    4 projects | /r/node | 16 Jan 2023
  • I eventually stopped using a plugin manager
    3 projects | /r/fishshell | 13 Jan 2023
    https://github.com/Schniz/fnm works pretty well with fish, btw. The main drawback is that it doesn't have a command to automatically install your global npm packages from the last version. But it is not too hard to make your own.
  • zsh plugin for lazy loading nvm (no more lags)
    3 projects | /r/zsh | 31 Dec 2022

What are some alternatives?

When comparing nvm and fnm you can also consider the following projects:

nvs - Node Version Switcher - A cross-platform tool for switching between versions and forks of Node.js

volta - Volta: JS Toolchains as Code. ⚡

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

corepack - Zero-runtime-dependency package acting as bridge between Node projects and their package managers

SDKMan - The SDKMAN! Command Line Interface

nvm for Windows - A node.js version management utility for Windows. Ironically written in Go.

n - Node version management

bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

nodist - Natural node.js and npm version manager for windows.

docker-node - Official Docker Image for Node.js :whale: :turtle: :rocket: