Skip to content
vic

jorgebucaran/nvm.fish

The Node.js version manager you'll adore, crafted just for Fish

jorgebucaran/nvm.fish.json
{
"createdAt": "2016-04-12T17:26:02Z",
"defaultBranch": "main",
"description": "The Node.js version manager you'll adore, crafted just for Fish",
"fullName": "jorgebucaran/nvm.fish",
"homepage": "https://git.io/nvm.fish",
"language": "Shell",
"name": "nvm.fish",
"pushedAt": "2025-03-23T05:49:49Z",
"stargazersCount": 2521,
"topics": [
"fish",
"fish-plugin",
"nodejs",
"nvm"
],
"updatedAt": "2025-11-26T16:57:26Z",
"url": "https://github.com/jorgebucaran/nvm.fish"
}

The Node.js version manager you’ll adore, crafted just for Fish.

Nope, not that POSIX-compatible script. Built from scratch for Fish, this handy tool lets you juggle multiple active Node versions in a single local environment. Install and switch between runtimes like a boss, without messing up your home directory or breaking system-wide scripts.

  • 100% pure Fish—so simple to contribute to or tweak
  • Tab-completable for seamless shell integration
  • .node-version and .nvmrc support
  • XDG Base Directory compliant
  • No setup needed—it just works!

Install with Fisher:

Terminal window
fisher install jorgebucaran/nvm.fish

Install the latest Node release and activate it.

Terminal window
nvm install latest

Install the latest LTS (long-term support) Node release.

Terminal window
nvm install lts

Install an older LTS release by codename.

Installs 8.16.2, the latest release of the Carbon LTS line.

Terminal window
nvm install carbon

Or install a specific version of Node.

Supports full or partial version numbers, starting with an optional “v”.

Terminal window
nvm install v15.3.0

Activate a version you’ve already installed.

Terminal window
nvm use v14

Check out which versions you have installed (includes your system-installed Node if there is one).

Terminal window
$ nvm list
system
v8.17.0 lts/carbon
v15.3.0
▶ v14.15.1 lts/fermium
v18.4.0 latest

Or list all the Node versions up for grabs.

Terminal window
nvm list-remote

Need to uninstall a version?

Terminal window
nvm uninstall v15.3.0

An .nvmrc file is perfect for locking a specific version of Node for different projects. Just create an .nvmrc (or .node-version) file with a version number or alias, e.g., latest, lts, carbon, in your project’s root.

Terminal window
node --version >.nvmrc

Then run nvm install to install or nvm use to activate that version. Works like a charm from anywhere in your project by traversing the directory hierarchy until an .nvmrc is found.

Terminal window
nvm install

Choose a mirror of the Node binaries. Default: https://nodejs.org/dist.

The nvm install command activates the specified Node version only in the current environment. If you want to set the default version for new shells:

set --universal nvm_default_version v18.4.0

Got a list of default packages you want installed every time you install a new Node version?

set --universal nvm_default_packages yarn np

Set where nvm stores Node binaries and related data. Defaults to $XDG_DATA_HOME/nvm (~/.local/share/nvm) if unset.

set --global nvm_data ~/.nvm

nvm.fish was established in 2016 by @jorgebucaran as the go-to Node.js version manager for Fish. It was inspired by the original nvm.sh created by @creationix and @ljharb. To use the original nvm in Fish, consider @FabioAntunes/fish-nvm or @derekstavis/plugin-nvm. We appreciate all of our contributors! ❤️

[MIT]!(LICENSE.md)