fnm
brew install fnm
v1.39.0
GPL-3.0-only
Fast Node.js version manager written in Rust, supporting .node-version and .nvmrc files across platforms.
Why you might care
fnm is a drop-in replacement for nvm that starts instantly and manages multiple Node.js versions with minimal overhead. Built in Rust for speed and distributed as a single binary, it reads standard .node-version/.nvmrc files and works across macOS, Windows, and Linux without shell-specific complications.
5.9k
30-day installs · #523
19.0k
90-day · #547
53.1k
365-day · #654
26.0k
★ GitHub stars · updated 2mo ago
Build dependencies
GitHub topics
hacktoberfest
javascript
nodejs
nvm
reasonml
version
Links
- https://github.com/Schniz/fnm
- GitHub: Schniz/fnm
- Brew formula source: Formula/f/fnm.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"nvm",
"nodenv",
"volta"
],
"build_dependencies": [
"rust"
],
"categories": [
"version-control",
"language-runtime"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Fast and simple Node.js version manager",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:37:44+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "fnm",
"github_default_branch": "master",
"github_last_commit_at": "2026-04-19T02:31:39Z",
"github_readme_excerpt": "\u003ch1 align=\"center\"\u003e\n Fast Node Manager (\u003ccode\u003efnm\u003c/code\u003e)\n \u003cimg alt=\"Amount of downloads\" src=\"https://img.shields.io/github/downloads/Schniz/fnm/total.svg?style=flat\" /\u003e\n \u003ca href=\"https://github.com/Schniz/fnm/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/Schniz/fnm/rust.yml?branch=master\u0026label=workflow\" alt=\"GitHub Actions workflow status\" /\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003e \ud83d\ude80 Fast and simple Node.js version manager, built in Rust\n\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"./docs/fnm.svg\" alt=\"Blazing fast!\"\u003e\n\u003c/div\u003e\n\n## Features\n\n\ud83c\udf0e Cross-platform support (macOS, Windows, Linux)\n\n\u2728 Single file, easy installation, instant startup\n\n\ud83d\ude80 Built with speed in mind\n\n\ud83d\udcc2 Works with `.node-version` and `.nvmrc` files\n\n## Installation\n\n### Using a script (macOS/Linux)\n\nFor `bash`, `zsh` and `fish` shells, there\u0027s an [automatic installation script](./.ci/install.sh).\n\nFirst ensure that `curl` and `unzip` are already installed on your operating system. Then execute:\n\n```sh\ncurl -fsSL https://fnm.vercel.app/install | bash\n```\n\n#### Upgrade\n\nOn macOS, it is as simple as `brew upgrade fnm`.\n\nOn other operating systems, upgrading `fnm` is almost the same as installing it. To prevent duplication in your shell config file, pass `--skip-shell` to the install command:\n\n```sh\ncurl -fsSL https://fnm.vercel.app/install | bash -s -- --skip-shell\n```\n\n#### Parameters\n\n`--install-dir`\n\nSet a custom directory for fnm to be installed. The default is `$XDG_DATA_HOME/fnm` (if `$XDG_DATA_HOME` is not defined it falls back to `$HOME/.local/share/fnm` on linux and `$HOME/Library/Application Support/fnm` on MacOS).\n\n\u003e **Note:** On macOS, this option is only meaningful when using `--force-install` since Homebrew is the default installation method.\n\n`--skip-shell`\n\nSkip appending shell specific loader to shell config file, based on the current user shell, defined in `$SHELL`. e.g. for Bash, `$HOME/.bashrc`. `$HOME/.zshrc` for Zsh. For Fish - `$HOME/.config/fish/conf.d/fnm.fish`\n\n`--force-install`\n\nmacOS",
"github_repo": "Schniz/fnm",
"github_stars": 26007,
"github_topics": [
"hacktoberfest",
"javascript",
"nodejs",
"nvm",
"reasonml",
"version"
],
"homepage": "https://github.com/Schniz/fnm",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 5938,
"installs_365d": 53120,
"installs_90d": 18968,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "GPL-3.0-only",
"llm_generated_at": "2026-06-20T23:45:23+00:00",
"llm_model": "claude-haiku-4-5",
"name": "fnm",
"oldnames": [],
"one_liner": "Fast Node.js version manager written in Rust, supporting .node-version and .nvmrc files across platforms.",
"optional_dependencies": [],
"rank_30d": 523,
"rank_365d": 654,
"rank_90d": 547,
"raw_hash": "252b11d04f4c0979",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/f/fnm.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "1.39.0",
"versioned_formulae": [],
"why_use_this": "fnm is a drop-in replacement for nvm that starts instantly and manages multiple Node.js versions with minimal overhead. Built in Rust for speed and distributed as a single binary, it reads standard .node-version/.nvmrc files and works across macOS, Windows, and Linux without shell-specific complications."
}