/nvm.fish

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

Primary LanguageShellMIT LicenseMIT

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!

Installation

Install with Fisher:

fisher install jorgebucaran/nvm.fish

Quickstart

Install the latest Node release and activate it.

nvm install latest

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

nvm install lts

Install an older LTS release by codename.

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

nvm install carbon

Or install a specific version of Node.

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

nvm install v15.3.0

Activate a version you've already installed.

nvm use v14

Check 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 latest

Or list all the Node versions up for grabs.

nvm list-remote

Need to uninstall a version?

nvm uninstall v15.3.0

.nvmrc

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.

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.

nvm install

$nvm_mirror

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

$nvm_default_version

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

$nvm_default_packages

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

set --universal nvm_default_packages yarn np

Acknowledgments

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! ❤️

License

MIT