schniz/fnm

🚀 Fast and simple Node.js version manager, built in Rust

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 2nd, 2026
Created on January 16th, 2019
Open Issues & Pull Requests: 243 (+0)
GitHub issues: Enabled
Number of forks: 641
Total Stargazers: 26,806 (+0)
Total Subscribers: 68 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

fnm is a Node.js version manager built in Rust that prioritizes speed and simplicity across macOS, Windows, and Linux.

The tool solves the problem of managing multiple Node.js versions on a single machine. It works by reading `.node-version` and `.nvmrc` files to determine which version should be active, and it installs as a single binary with minimal setup overhead. The Rust implementation focuses on fast startup and execution compared to alternatives written in other languages.

fnm suits developers who need to switch between Node.js versions frequently and want a lightweight, cross-platform solution. It works well in projects that already use `.node-version` or `.nvmrc` files for version specification. The tool offers multiple installation methods including Homebrew on macOS, Winget and Scoop on Windows, and Cargo across platforms, making it accessible regardless of your preferred package manager. Shell setup is required through `fnm env` evaluation, with support for bash, zsh, fish, and PowerShell, and the README recommends passing an explicit shell argument for better performance.

The project maintains active continuous integration workflows and receives regular updates through multiple installation channels. Development activity shows consistent attention to cross-platform compatibility and shell integration, with documentation covering configuration options for features like automatic version switching.