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-versionand.nvmrcsupport- XDG Base Directory compliant
- No setup needed—it just works!
Install with Fisher:
fisher install jorgebucaran/nvm.fishInstall the latest Node release and activate it.
nvm install latestInstall the latest LTS (long-term support) Node release.
nvm install ltsInstall an older LTS release by codename.
Installs
8.16.2, the latest release of the Carbon LTS line.
nvm install carbonOr install a specific version of Node.
Supports full or partial version numbers, starting with an optional "v".
nvm install v15.3.0Activate a version you've already installed.
nvm use v14Check out which versions you have installed (includes your system-installed Node if there is one).
$ nvm list
system
v8.17.0 lts/carbon
v15.3.0
▶ v14.15.1 lts/fermium
v18.4.0 latestOr list all the Node versions up for grabs.
nvm list-remoteNeed to uninstall a version?
nvm uninstall v15.3.0An .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.
node --version >.nvmrcThen 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.
nvm installChoose 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.0Got a list of default packages you want installed every time you install a new Node version?
set --universal nvm_default_packages yarn npSet where nvm stores Node binaries and related data. Defaults to $XDG_DATA_HOME/nvm (~/.local/share/nvm) if unset.
set --global nvm_data ~/.nvmnvm.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! ❤️