6

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

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

4

2 回答 2

12

在 package.json 中:

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

文档

编辑,一种程序化的方式:

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);
}
于 2013-09-11T09:02:39.237 回答
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);
};
于 2013-09-11T09:39:15.287 回答