The ENOTSUP error occurs when your Node.js version doesn't match the package's engine requirements. Update Node.js or use a version manager to switch to a compatible version.
Fixes npm ERR! ENOTSUP unsupported engine
# Your current version
node --version
# Package requirements
npm view package-name engines# Your current versionnode --version# Package requirementsnpm view package-name enginesnpm ERR! ENOTSUP unsupported engine
On this page
This error indicates that a package explicitly requires a different Node.js version than what you're running. Packages can specify engine requirements in their package.json to ensure compatibility. When npm's engine-strict mode is enabled (or the package uses engines field), npm will refuse to install if your Node.js version doesn't match the requirements.
Compare versions:
# Your current version
node --version
# Package requirements
npm view package-name enginesInstall a compatible version:
# Using nvm
nvm install 20
nvm use 20
# Or download from nodejs.org
# Use version matching package requirementsSkip engine check (use cautiously):
npm install --ignore-enginesThis may cause runtime issues if the package truly needs a different version.
Set engine checking behavior:
# View current setting
npm config get engine-strict
# Disable strict checking
npm config set engine-strict falseDocument required version:
# Create .nvmrc
echo "20" > .nvmrc
# Team members can then:
nvm useSee if newer version supports your Node:
npm outdated package-name
npm view package-name versions
# Install specific version that supports your Node
npm install package-name@versionIn monorepos with different Node requirements, use volta or engines field carefully. CI/CD should match local Node version - use matrix builds if supporting multiple versions. The engines field in your own package.json documents your requirements for downstream users. Consider using engines-notifier for helpful warnings instead of hard failures.