如何在脚本中要求最低版本的node.js?

时间:2013-09-11 08:59:58

标签: node.js

我刚刚发现我编写的脚本仅适用于节点0.10,因为它使用readable个事件。

如何在我的脚本中要求最低版本的node.js,以便用户知道他们需要升级?

2 个答案:

答案 0 :(得分:12)

在package.json中:

{ "engines" : { "node" : ">=0.10.3" } }

来自docs

编辑,以编程方式:

var pkg = require('./pacakge'),
    semver = require('semver');

if(!semver.satisfies(process.version, pkg.engines.node)) {
  // Not sure if throw or process.exit is best.
  throw new Error('Requires a node version matching ' + pkg.engines.node);
}

答案 1 :(得分:1)

将此添加到脚本顶部。

var versionComps = process.versions['node'].split('.');
if (parseInt(versionComps[0]) === 0 && parseInt(versionComps[1]) < 10) {
  console.log('Script requires node.js version >= 0.10');
  process.exit(1);
};