September 2025 Live Microsoft 365 Workshops & Cohorts!
Learn SharePoint Framework, Agents for M365 Copilot, and Microsoft Teams AppDev
Learn More - September Live Learning
articles

Why I switched from NVM to Fast Node Manager (you should too)

Discover why Fast Node Manager (FNM) beats NVM and NVM-Windows with cross-platform support, blazing speed, and better reliability for Node.js development.

Why I switched from NVM to Fast Node Manager (you should too)
by Andrew Connell

Last updated August 26, 2025
5 minutes read

Share this

Focus Mode

  • Looking back on my NVM recommendations
  • Why Fast Node Manager wins
  • Making the switch
  • Essential FNM commands
  • Clean up after migration
  • Conclusion
  • Feedback & Comments

For years, I’ve been coaching SharePoint Framework (SPFx) and Microsoft Teams developers to avoid installing Node.js directly from the official website. Instead, I’ve consistently recommended using a node version manager. The benefits are substantial – better project isolation, easier version switching, and cleaner development environments.

But my recommendation has evolved. After testing and first-hand real-world usage, I’ve switched from my longtime favorites to Fast Node Manager (FNM), and I think you should make the switch too. Here’s why this cross-platform, blazing-fast tool has become my new go-to recommendation for developers using Node.js.

Looking back on my NVM recommendations

For the longest time, I recommended one of two node managers depending on your operating system.

On macOS, I recommended the original Node Version Manager (NVM). It was the OG of node managers. It was reliable, well-established, and straightforward to use. NVM worked great for Mac users and had proven itself over years of development.

For Windows developers, I recommended NVM-Windows, which was essentially a Windows port of the original NVM. It provided similar functionality and worked well for Windows-based development environments.

However, both of these recommendations came with limitations. NVM only worked on macOS, and NVM-Windows has unfortunately become code-frozen and hasn’t been maintained for the past couple of years. This left Windows developers in a challenging position, looking for alternatives or sticking with an unmaintained tool.

Why Fast Node Manager wins

Fast Node Manager (FNM) solves these problems and delivers improvements I didn’t even know I needed.

Fast Node Manager (FNM)

Fast and simple Node.js version manager, built in Rust. Works on Windows, macOS, and Linux!

https://github.com/Schniz/fnm

Cross-platform compatibility

Unlike my previous recommendations, FNM works seamlessly on both Windows and macOS. This means I can give the same recommendation to all developers, regardless of their operating system. No more maintaining separate toolchains or learning different commands. It’s just one tool, one set of commands, with universal compatibility.

Blazing fast performance

Usually when something includes “fast” in the name, the performance improvement is marginal at best. FNM is different. Written in Rust, it’s genuinely blazing fast. The speed difference is immediately noticeable when switching between Node.js versions or installing new versions.

The Rust foundation doesn’t just make FNM fast – it also makes it secure and contributes to its cross-platform capabilities.

Addressing real-world challenges

I’ve encountered occasional issues with NVM, particularly in complex shell environments. For example, on modern macOS versions that default to the ZSH shell, I sometimes experienced situations where applications had difficulty determining which Node.js version to use.

VS Code Issues With Node Version Managers on MacOS

For example, VS Code defaults to a Bash shell on macOS, but macOS switched its shell from Bash to ZSH in 2019 with Catalina (v10.15). While most macOS installs are using ZSH, if you’re using VS Code, if you’re using a version manager configured in a ZSH shell, VS Code can get confused defaulting when it launches a new terminal using Bash as that means it uses the system installed version of Node.js.

Learn more about this and how I fixed it: Troubleshoot TTK issues with Node, Azure Functions, & macOS.

FNM seems to handle these edge cases more elegantly. I’ve been using it extensively, including with Claude MCP registrations distributed via NPM, and haven’t encountered the same environment variable conflicts that occasionally popped up with NVM (including my previous example with VS Code).

Solving the maintenance problem

With NVM-Windows no longer being actively maintained, Windows developers needed a better solution. FNM fills this gap perfectly, providing a modern, maintained alternative that works consistently across platforms.

Making the switch

Switching from NVM or NVM-Windows to FNM is straightforward. The commands are similar enough that you won’t need to relearn everything, but different enough that you’ll appreciate the improvements.

Essential FNM commands

FNM provides all the functionality you expect from a node manager, with the same basic operations you’re used to.

Install and uninstall Node.js versions

Installing a specific Node.js version:

fnm install 22.11.0
fnm install latest
fnm install lts

Uninstalling a version:

fnm uninstall 22.11.0

List available and installed versions

See all available Node.js versions:

fnm list-remote

View currently installed versions:

fnm list

Create aliases and set defaults

Create an alias for easy reference:

fnm alias 22.11.0 stable
fnm use stable

Set a default Node.js version:

fnm default 22.11.0

Automatic version switching

One of FNM’s standout features is automatic version switching. When you have a .node-version or .nvmrc file in your project’s root folder, FNM will automatically switch to the specified Node.js version when you navigate into that directory.

Create the .node-version file in the root of your project, then create the file using the following command. Then, when changing folders, FNM will automatically update it to use the project’s configured version:

cd ~/dev/spfx-hello-world
# create the version file
node -v > .node-version

Clean up after migration

After successfully migrating to FNM, make sure to clean up your old installation. This prevents conflicts and ensures a clean development environment.

Delete your old .nvm folder:

  • On macOS: rm -rf ~/.nvm
  • On Windows: Remove the NVM installation directory

Also update your shell profile (.zshrc, .bashrc, or .profile) to remove the old NVM initialization scripts and add FNM instead.

Conclusion

Fast Node Manager delivers on its promise. It’s genuinely fast, works across platforms, and solves real problems that developers face with node version management. The fact that it’s actively maintained and built with modern tools like Rust gives me confidence in recommending it for long-term use.

Whether you’re developing SharePoint Framework solutions, Microsoft Teams apps, or any other Node.js-based projects, FNM provides the reliable, fast node management you need.

Have you made the switch to FNM, or are you still using NVM or NVM-Windows? I’d love to hear about your experiences in the comments below.

Andrew Connell, Microsoft MVP, Full-Stack Developer & Chief Course Artisan - Voitanos LLC.
author
Andrew Connell

Microsoft MVP, Full-Stack Developer & Chief Course Artisan - Voitanos LLC.

Andrew Connell is a full stack developer who focuses on Microsoft Azure & Microsoft 365. He’s a 21-year recipient of Microsoft’s MVP award and has helped thousands of developers through the various courses he’s authored & taught. Whether it’s an introduction to the entire ecosystem, or a deep dive into a specific software, his resources, tools, and support help web developers become experts in the Microsoft 365 ecosystem, so they can become irreplaceable in their organization.

Feedback & Questions

newsletter

Join 11,200+ developers for news & insights

No clickbait · 100% free · Unsubscribe anytime.

    Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 Space!
    blurry dot in brand primary color
    bi-weekly newsletter

    Join 11,200+ Microsoft 365 full-stack web developers for news, insights & resources. 100% free.

    Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 ecosystem!

    No clickbait · 100% free · Unsubscribe anytime.

      Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 Space!