🍺 BREW Explorer

← all formulae

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.

Categories

Alternatives

nvm nodenv volta
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

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."
}