Links

Node version requirement

semantic-release is written using the latest ECMAScript 2017 features, without transpilation which requires 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 the semantic-release in a CI environment providing version of Node that meets our version requirement.
See our Node Support Policy for our long-term promise regarding Node version support.

Run at least one CI job with a version of Node that meets our version requirement

The recommended approach is to run the semantic-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.
See CI configuration and CI configuration recipes for more details.

Alternative solutions

Use npx to execute in the latest LTS version of Node

npx is included with npm >= 5.2 and can be used to download the latest Node LTS package published on npm. Use it to execute the semantic-release command.
$ npx -p node@v18-lts -c "npx semantic-release"
Note: See What is npx for more details.

Use nvm

If your CI environment provides nvm you can use it to switch to the latest LTS version of Node before running the semantic-release command.
$ nvm install 'lts/*' && npx semantic-release