我刚刚发现我编写的脚本仅适用于节点 0.10,因为它使用readable
事件。
如何在我的脚本中要求 node.js 的最低版本,以便用户知道他们需要升级?
在 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);
}
将此添加到脚本的顶部。
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);
};