volta

JavaScript toolchain version manager

TLDR

Install Node version
$ volta install node@[18]
Install specific version
$ volta install node@[18.17.0]
Install npm version
$ volta install npm@[9]
Install yarn
$ volta install yarn
Pin Node version for project
$ volta pin node@[18]
List installed tools
$ volta list
Show current versions
$ volta which node
Fetch without installing
$ volta fetch node@[20]

SYNOPSIS

volta [install] [pin] [list] [fetch] [options] [tool[@version]]

DESCRIPTION

volta manages JavaScript tool versions. It handles Node.js, npm, and Yarn with fast, reliable switching.Pin configuration stores versions in package.json. When entering a project directory, Volta automatically uses pinned versions.Installation is fast. Volta downloads pre-built binaries and caches them. Switching versions is instant.The shim system intercepts node, npm, and npx commands. It routes to the correct version based on project configuration.Global packages work correctly across Node versions. Volta manages them separately from Node installations.Zero configuration is needed after setup. Version switching happens transparently based on project requirements.

PARAMETERS

install TOOL

Install tool.
pin TOOL
Pin tool version for project.
uninstall TOOL
Remove tool.
list [all]
List installed tools.
fetch TOOL
Download without installing.
run TOOL
Run tool.
which TOOL
Show tool path.
setup
Configure shell.
--quiet
Suppress output.
--verbose
Verbose output.
--version
Show version.

INSTALL

brew install volta
nix profile install nixpkgs#volta

CAVEATS

Requires shell setup. Limited to Node.js ecosystem. Some edge cases with global packages. Newer than nvm/fnm.

HISTORY

Volta was created by LinkedIn around 2019. Written in Rust, it emphasizes speed and reliability for managing JavaScript toolchains.

SEE ALSO

node(1), npm(1), nvm(1), fnm(1)