Skip to content

Node.js

Curated name node. Node is built into the runtime image (currently v22), so a bare node installs nothing extra. A pinned version goes through the upstream devcontainers/features/node feature.

Terminal window
monoceros init acme --with-languages=node
monoceros add-language acme node:20
Terminal window
monoceros remove-language acme node

Or delete the entry from acme.yml by hand and re-run monoceros apply acme - the yml is the source of truth.

A bare node keeps the built-in v22. To run a different major, pin it - that bypasses the built-in and installs through the feature:

Terminal window
monoceros add-language acme node:20

Supported majors: 22, 20 (also lts, latest).

Set these by adding the feature directly (see Other feature options):

OptionDefaultNotes
versionltsPin via the :version suffix instead.
pnpmVersionlatestnone to skip pnpm.
npmVersionnonePin a specific npm.

Full option list: upstream feature.