Node version requirement
semantic-release is written using the latestECMAScript 2017 features, without transpilation whichrequires Node version 20.8.1 or higher.
semantic-release is meant to be used in a CI environment as a development support tool, not as a production dependency. Therefore, the only constraint is to run thesemantic-release in a CI environment providing version of Node that meets our version requirement.
See ourNode Support Policy for our long-term promise regarding Node version support.
Recommended solution
Run at least one CI job with a version of Node that meets our version requirement
The recommended approach is to run thesemantic-release command from a CI job running on the latest available LTS version of node. This can either be a job used by your project to test on the latest Node LTS version or a dedicated job for the release steps.
SeeCI configuration andCI configuration recipes for more details.
Alternative solutions
Usenpx to execute in the latest LTS version of Node
npx to execute in the latest LTS version of Nodenpx is included with npm >= 5.2 and can be used to download the latestNode LTS package published on npm. Use it to execute thesemantic-release command.
$npx-pnode@v18-lts-c"npx semantic-release"Note: SeeWhat is npx for more details.
Usenvm
nvmIf your CI environment providesnvm you can use it to switch to the latest LTS version of Node before running thesemantic-release command.
$ nvm install 'lts/*' && npx semantic-releaseLast updated