diff --git a/packages/cli/bin/n8n b/packages/cli/bin/n8n index 2e78f0bdb9..859a019a56 100755 --- a/packages/cli/bin/n8n +++ b/packages/cli/bin/n8n @@ -19,12 +19,18 @@ if (process.argv.length === 2) { } const nodeVersion = process.versions.node; -const nodeVersionMajor = require('semver').major(nodeVersion); +const { major, gte } = require('semver'); -if (![18, 20, 22].includes(nodeVersionMajor)) { +const MINIMUM_SUPPORTED_NODE_VERSION = '18.17.0'; +const ENFORCE_MIN_NODE_VERSION = process.env.E2E_TESTS !== 'true'; + +if ( + (ENFORCE_MIN_NODE_VERSION && !gte(nodeVersion, MINIMUM_SUPPORTED_NODE_VERSION)) || + ![18, 20, 22].includes(major(nodeVersion)) +) { console.log(` - Your Node.js version (${nodeVersion}) is currently not supported by n8n. - Please use Node.js v18 (recommended), v20, or v22 instead! + Your Node.js version ${nodeVersion} is currently not supported by n8n. + Please use Node.js v${MINIMUM_SUPPORTED_NODE_VERSION} (recommended), v20, or v22 instead! `); process.exit(1); }