Skip to content

Docs: package-manager installs (Homebrew, Winget, Scoop, Choco, Cargo, binary) silently ship without auto-switch; README 'Works with .nvmrc' feature doesn't work until Shell Setup is done #1574

Description

@chirag127

Docs: Package-manager installs silently ship without auto-switch

Problem

fnm can be installed via multiple package managers: Homebrew, Winget, Scoop, Chocolatey, Cargo, or binary download. The README proudly lists them all. However, the README does not document that every install method except the official install script ships without shell integration — meaning fnm use runs but the shell's PATH never updates to reflect the switched version.

Concrete failure mode:

  1. User installs fnm via Scoop: scoop install fnm
  2. Creates .nvmrc with 22
  3. Opens a new terminal, runs fnm use — succeeds with no error
  4. Runs node --version → shows the system Node, not 22

The fix (running fnm env | Out-String | Invoke-Expression in PowerShell profile, or eval "$(fnm env)" in .bashrc) is documented in the Shell Setup page — but the install instructions don't link there, and many users complete the install without ever reading Shell Setup.

Proposed fix

Add a prominent callout to each package-manager install section:

Required: shell integration. After installing, you must add fnm env evaluation to your shell profile, or auto-switching will not work. See Shell Setup.

Also: the README's feature blurb "Works with .nvmrc" should be qualified as "Works with .nvmrc after shell setup is complete."

Environment

  • OS: Windows 11 Enterprise
  • Shell: PowerShell 7.x and Git Bash
  • fnm: installed via Scoop
  • Node.js not switching despite .nvmrc present

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions