【发布时间】:2017-11-25 17:52:22
【问题描述】:
我希望我的节点包(在 npm 上发布)在有新版本可用时提醒用户。如何以编程方式检查已发布包的最新版本并将其与当前版本进行比较?
谢谢
【问题讨论】:
-
我想你可以在这个 npm 包中找到你想要的东西:npmjs.com/package/npm-check-updates 检查他是如何为他的项目做这件事的。
标签: javascript node.js npm package
我希望我的节点包(在 npm 上发布)在有新版本可用时提醒用户。如何以编程方式检查已发布包的最新版本并将其与当前版本进行比较?
谢谢
【问题讨论】:
标签: javascript node.js npm package
您可以结合npmview(用于获取远程版本)和semver(用于比较版本)包来执行此操作:
const npmview = require('npmview');
const semver = require('semver');
// get local package name and version from package.json (or wherever)
const pkgName = require('./package.json').name;
const pkgVersion = require('./package.json').version;
// get latest version on npm
npmview(pkgName, function(err, version, moduleInfo) {
// compare to local version
if(semver.gt(version, pkgVersion)) {
// remote version on npm is newer than current version
}
});
【讨论】: