mirror of
https://github.com/strapi/strapi.git
synced 2025-11-07 05:38:13 +00:00
use supported versions from generated package.json
This commit is contained in:
parent
826e3ecf34
commit
ef35dbb2f7
@ -1,26 +1,28 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const { red, green, bold } = require('chalk');
|
const { red, green, bold, yellow } = require('chalk');
|
||||||
const semver = require('semver');
|
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 minNodeVersion = '14.19.1'; // greater than or equal to this
|
const { engines } = packageJSON({ strapiDependencies: [] });
|
||||||
const maxNodeVersion = '17.0.0'; // less than this
|
|
||||||
|
|
||||||
if (
|
// error if the node version isn't supported
|
||||||
!semver.gte(currentNodeVersion, minNodeVersion) ||
|
if (!semver.satisfies(currentNodeVersion, engines.node)) {
|
||||||
!semver.lt(currentNodeVersion, maxNodeVersion)
|
console.error(red(`You are running ${bold(`Node.js ${currentNodeVersion}`)}`));
|
||||||
) {
|
console.error(`Strapi requires ${bold(green(`Node.js ${engines.node}`))}`);
|
||||||
console.error(red(`You are running ${bold(`node ${currentNodeVersion}`)}`));
|
|
||||||
console.error(
|
|
||||||
`Strapi requires ${bold(green(`node >=${minNodeVersion} and <${maxNodeVersion}`))}`
|
|
||||||
);
|
|
||||||
console.error('Please make sure to use the right version of Node.');
|
console.error('Please make sure to use the right version of Node.');
|
||||||
}
|
|
||||||
|
|
||||||
// only exit on lower version; higher version is allowed to proceed with only the warning
|
|
||||||
if (!semver.gte(currentNodeVersion, minNodeVersion)) {
|
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// warn if not using a LTS version
|
||||||
|
else if (!semver.satisfies(currentNodeVersion, '14.x.x || 16.x.x || 18.x.x || 20.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.`
|
||||||
|
);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user