Merge pull request #13962 from strapi/fix/preinstall-node-version-check

Require Node >=14, <=16 to install Strapi
This commit is contained in:
Ben Irvin 2022-08-18 09:41:07 +02:00 committed by GitHub
commit dece14c0de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 7 deletions

View File

@ -43,7 +43,7 @@ module.exports = (opts) => {
...packageJsonStrapi, ...packageJsonStrapi,
}, },
engines: { engines: {
node: '>=12.x.x <=16.x.x', node: '>=14.19.1 <=16.x.x',
npm: '>=6.0.0', npm: '>=6.0.0',
}, },
license: 'MIT', license: 'MIT',

View File

@ -1,14 +1,28 @@
'use strict'; 'use strict';
const { red, green, bold, yellow } = require('chalk');
const semver = require('semver');
const packageJSON = require('../resources/json/common/package.json');
module.exports = function checkBeforeInstall() { module.exports = function checkBeforeInstall() {
const currentNodeVersion = process.versions.node; const currentNodeVersion = process.versions.node;
const semver = currentNodeVersion.split('.'); const { engines } = packageJSON({ strapiDependencies: [] });
const major = semver[0];
if (major < 12) { // error if the node version isn't supported
console.error(`You are running Node ${currentNodeVersion}`); if (!semver.satisfies(currentNodeVersion, engines.node)) {
console.error('Strapi requires Node 12 and higher.'); console.error(red(`You are running ${bold(`Node.js ${currentNodeVersion}`)}`));
console.error(`Strapi requires ${bold(green(`Node.js ${engines.node}`))}`);
console.error('Please make sure to use the right version of Node.'); console.error('Please make sure to use the right version of Node.');
process.exit(1); process.exit(1);
} }
// warn if not using a LTS version
else if (semver.satisfies(currentNodeVersion, '15.x.x || 17.x.x || 19.x.x')) {
console.warn(yellow(`You are running ${bold(`Node.js ${currentNodeVersion}`)}`));
console.warn(
`Strapi only supports ${bold(
green('LTS versions of Node.js')
)}, other versions may not be compatible.`
);
}
}; };

View File

@ -46,6 +46,7 @@
"node-machine-id": "^1.1.10", "node-machine-id": "^1.1.10",
"ora": "^5.4.1", "ora": "^5.4.1",
"tar": "6.1.11", "tar": "6.1.11",
"semver": "^7.3.4",
"uuid": "^8.3.2" "uuid": "^8.3.2"
}, },
"engines": { "engines": {

View File

@ -21,7 +21,7 @@
} }
], ],
"engines": { "engines": {
"node": ">=12.x.x <=16.x.x", "node": ">=14.19.1 <=16.x.x",
"npm": ">=6.0.0" "npm": ">=6.0.0"
}, },
"scripts": { "scripts": {