Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions docs/lang/node.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,29 @@ See the [Node.JS Cookbook](/mise-cookbook/nodejs.html) for common tasks and exam
The following [tool-options](/dev-tools/#tool-options) are available for the `node` backend.
These options go in the `[tools]` section in `mise.toml`.

### Node install options

Most Node install settings can also be set as tool options for a single `node` entry.
Tool options take precedence over `node.*` settings for that tool request.

| Tool option | Equivalent setting | Description |
| ------------------- | ------------------------ | ------------------------------------------------- |
| `compile` | `node.compile` | Compile Node from source. |
| `mirror_url` | `node.mirror_url` | Mirror to download Node tarballs from. |
| `flavor` | `node.flavor` | Node binary flavor such as `musl` or `glibc-217`. |
| `cflags` | `node.cflags` | Additional `CFLAGS` used for source builds. |
| `configure_opts` | `node.configure_opts` | Additional `./configure` options. |
| `make` | `node.make` | Make command to use for source builds. |
| `make_opts` | `node.make_opts` | Additional make options. |
| `make_install_opts` | `node.make_install_opts` | Additional `make install` options. |
| `ninja` | `node.ninja` | Use ninja instead of make for source builds. |
| `concurrency` | `node.concurrency` | Number of parallel make jobs. |

```toml
[tools]
node = { version = "22", compile = true, configure_opts = "--openssl-no-asm", make = "gmake" }
```
Comment on lines +28 to +49
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Documented feature not yet implemented in codebase

The node plugin's install_version_() in src/plugins/core/node.rs only calls Settings::get() (global settings) and BuildOpts::new() has no code that reads per-tool overrides from tv. None of the ten options listed here (compile, mirror_url, flavor, etc.) will be applied if set as inline tool options — they are silently ignored. This PR is marked as a companion to #9991, which is the implementation that would wire these overrides in. Merging this documentation before #9991 lands means the advertised node = { version = "22", compile = true, ... } syntax will have no effect.


### `install_env`

Set environment variables for source builds, default package installation, Corepack setup, and
Expand Down
Loading