Installs Node.js, nvm, yarn, pnpm, and needed dependencies.
"features": {
"ghcr.io/devcontainers/features/node:1": {}
}
Options Id | Description | Type | Default Value |
---|---|---|---|
version | Select or enter a Node.js version to install | string | lts |
nodeGypDependencies | Install dependencies to compile native node modules (node-gyp)? | boolean | true |
nvmInstallPath | The path where NVM will be installed. | string | /usr/local/share/nvm |
pnpmVersion | Select or enter the PNPM version to install | string | latest |
nvmVersion | Version of NVM to install. | string | latest |
installYarnUsingApt | On Debian and Ubuntu systems, you have the option to install Yarn globally via APT. If you choose not to use this option, Yarn will be set up using Corepack instead. This choice is specific to Debian and Ubuntu; for other Linux distributions, Yarn is always installed using Corepack, with a fallback to installation via NPM if an error occurs. | boolean | true |
dbaeumer.vscode-eslint
Certain operations like postCreateCommand
run non-interactive, non-login shells. Unfortunately, nvm
is really particular that it needs to be "sourced" before it is used, which can only happen automatically with interactive and/or login shells. Fortunately, this is easy to work around:
Just can source the nvm
startup script before using it:
"postCreateCommand": ". ${NVM_DIR}/nvm.sh && nvm install --lts"
Note that typically the default shell in these cases is sh
not bash
, so use . ${NVM_DIR}/nvm.sh
instead of source ${NVM_DIR}/nvm.sh
.
Alternatively, you can start up an interactive shell which will in turn source nvm
:
"postCreateCommand": "bash -i -c 'nvm install --lts'"
Debian/Ubuntu, RedHat Enterprise Linux, Fedora, Alma, and Rocky Linux distributions with the apt
, yum
, dnf
, or microdnf
package manager installed.
Note: RedHat 7 Family (RedHat, CentOS, etc.) must use Node versions less than 18 due to its system libraries and long-term support (LTS) policies.
bash
is required to execute the install.sh
script.
Note: This file was auto-generated from the devcontainer-feature.json. Add additional notes to a NOTES.md
.