DEV Community

Cover image for What is FNM ?
Nimesh Dilhara Kulasooriya
Nimesh Dilhara Kulasooriya

Posted on

What is FNM ?

When working on web projects, we all know that Node.js is something we usually need to have installed. Most of the time, we simply go to the Node.js website, download the version we need, and install it.

But things can get a little annoying when you are working on multiple projects.

Different projects can require different Node.js versions. For example, one project might need Node 18, while another project might require Node 20 or 22.

If you update Node.js for a new project, there is a chance that an older project may stop working as expected.

Downloading and installing Node.js again every time you need a different version is not really practical. Having a way to switch between versions when needed makes things much easier.

FNM

This is where FNM (Fast Node Manager) becomes useful.

FNM allows you to install and manage multiple Node.js versions on the same machine and switch between them when needed.

On Windows, you can install FNM directly through PowerShell and then install the Node.js versions you need.

For example, you can use Node 18 for one project and Node 22 for another project. This means you don't have to update your entire Node.js installation every time you work on a different project.

Another thing I found interesting about FNM is that it is built with Rust, which makes it lightweight and fast. For something that is mainly used to manage Node.js versions, I found that to be a nice advantage.

Setting up FNM is also not that difficult. You can install it using a few PowerShell commands, and if you are not familiar with the setup, you can also use an AI tool like ChatGPT to get step-by-step guidance.

So, why did I build another tool?

Since I was already using FNM, I wanted to make the process a little easier for myself.

So I built FNM Manager, a simple GUI for managing FNM.

Instead of typing commands in the terminal every time, I wanted to have a small interface where I could:

View installed Node.js versions
Install Node.js versions
Switch between Node.js versions
Manage the basic FNM workflow from a GUI

This is not intended to be a big product or a replacement for FNM.

It is simply a small tool I built to make my own development workflow a little easier.

Current State

The project is still very simple, and there are definitely things that can be improved.

For now, it does the basic things I need, so I decided to put it on GitHub and share it.

If you use FNM, feel free to check it out. Feedback and ideas for future improvements are always welcome.

GitHub:View

I would also be interested to hear what features you would like to see in a simple FNM GUI.

Top comments (0)