Node
The following are instructions for using the node mise core plugin. This is used when there isn't a git plugin installed named "node".
If you want to use asdf-nodejs then run mise plugins install node https://github.com/asdf-vm/asdf-nodejs
The code for this is inside the mise repository at ./src/plugins/core/node.rs
.
Usage
The following installs the latest version of node-20.x and makes it the global default:
mise use -g node@20
Requirements
See BUILDING.md in node's documentation for required system dependencies.
Settings
node.compile
- Type:
Bool
(optional) - Env:
MISE_NODE_COMPILE
- Default:
None
Compile node from source.
node.flavor
- Type:
string
(optional) - Env:
MISE_NODE_FLAVOR
- Default:
None
Install a specific node flavor like glibc-217 or musl. Use with unofficial node build repo.
node.gpg_verify
- Type:
Bool
(optional) - Env:
MISE_NODE_GPG_VERIFY
- Default:
None
Use gpg to verify node tool signatures.
node.mirror_url
- Type:
Url
(optional) - Env:
MISE_NODE_MIRROR_URL
- Default:
None
Mirror to download node tarballs from.
Environment Variables
MISE_NODE_VERIFY
[bool]: Verify the downloaded assets using GPG. Defaults totrue
.MISE_NODE_NINJA
[bool]: Use ninja instead of make to compile node. Defaults totrue
if installed.MISE_NODE_CONCURRENCY
[uint]: How many jobs should be used in compilation. Defaults to half the computer coresMISE_NODE_DEFAULT_PACKAGES_FILE
[string]: location of default packages file, defaults to$HOME/.default-npm-packages
MISE_NODE_CFLAGS
[string]: Additional CFLAGS options (e.g., to override -O3).MISE_NODE_CONFIGURE_OPTS
[string]: Additional./configure
options.MISE_NODE_MAKE_OPTS
[string]: Additionalmake
options.MISE_NODE_MAKE_INSTALL_OPTS
[string]: Additionalmake install
options.MISE_NODE_COREPACK
[bool]: Installs the default corepack shims after installing any node version that ships with corepack.
INFO
TODO: these env vars should be migrated to compatible settings in the future.
Default node packages
mise-node can automatically install a default set of npm packages right after installing a node version. To enable this feature, provide a $HOME/.default-npm-packages
file that lists one package per line, for example:
lodash
request
express
You can specify a non-default location of this file by setting a MISE_NODE_DEFAULT_PACKAGES_FILE
variable.
.nvmrc
and .node-version
support
mise uses a mise.toml
or .tool-versions
file for auto-switching between software versions. To ease migration, you can have also have it read an existing .nvmrc
or .node-version
file to find out what version of Node.js should be used. This will be used if node
isn't defined in mise.toml
/.tool-versions
.
"nodejs" -> "node" Alias
You cannot install/use a plugin named "nodejs". If you attempt this, mise will just rename it to "node". See the FAQ for an explanation.
Unofficial Builds
Nodejs.org offers a set of unofficial builds which are compatible with some platforms that are not supported by the official binaries. These are a nice alternative to compiling from source for these platforms.
To use, first set the mirror url to point to the unofficial builds:
mise settings node.mirror_url=https://unofficial-builds.nodejs.org/download/release/
If your goal is to simply support an alternative arch/os like linux-loong64 or linux-armv6l, this is all that is required. Node also provides flavors such as musl or glibc-217 (an older glibc version than what the official binaries are built with).
To use these, set node.flavor
:
mise settings node.flavor=musl
mise settings node.flavor=glibc-217