diff --git a/lib/feflow.js b/lib/feflow.js index c60b97e3..808101ba 100644 --- a/lib/feflow.js +++ b/lib/feflow.js @@ -1,9 +1,11 @@ 'use strict'; const Feflow = require('./core'); +const pkg = require('../package.json'); const figlet = require('figlet'); const chalk = require('chalk'); const minimist = require('minimist'); +const semver = require('semver'); /** * Entrance file, parse user input and call a command. @@ -49,6 +51,13 @@ function entry(args) { }); } + log.debug('process.version', process.version); + log.debug('pkg.engines.node', pkg.engines.node); + + if (!semver.satisfies(process.version, pkg.engines.node)) { + return log.error(`运行feflow所需Node.js版本为${pkg.engines.node},当前版本为${process.version},请升级到最新版本Node.js(https://nodejs.org/en/).`); + } + return feflow.init().then(function() { let cmd = ''; diff --git a/package.json b/package.json index 0c16bd14..26fd533f 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,9 @@ "commandline", "front-end" ], + "engines": { + "node": ">=6.0.0" + }, "author": "cpselvis (cpselvis@gmail.com)", "license": "MIT", "bin": { @@ -41,6 +44,7 @@ "osenv": "^0.1.4", "request": "^2.81.0", "request-promise": "^4.2.1", + "semver": "^5.4.1", "yeoman-environment": "^1.6.6" }, "devDependencies": {