美文网首页
cli工具版本更新提示

cli工具版本更新提示

作者: 532546c1938d | 来源:发表于2018-12-03 16:44 被阅读11次

项目背景是需要在用户使用的cli(我们提供的atom-engine toolkit)的命令行中提示用户对应的版本和需要升级的提示。

思路很清楚:run/build 的命令中增加checkVersion的逻辑,然后给出最后相应提示

遇到的问题是如何获取用户当前使用的版本信息,如果用户是在使用init安装的包中运行还可以通过package.json来获取,但是我们的工具是`全局`的,这就只能通过相应的工具库或者shell命令获取了。查了一波资料后,没有合适的工具库,就使用shell来解决吧。

代码如下:

  ```   

const exec = require('child_process').exec;

const semver = require('semver');

const colors = require('colors');

const packageJson = require('../package.json');

// 通过shell命令获取安装的atom-engine 版本

let cmdStr = 'atom-engine -V';

let currentVer = '';

var checkVersion = function () {

    let updateVer = packageJson.version;

    exec(cmdStr, function (err, stdout) {

        if (!err) {

            currentVer = stdout;

            if (semver.gt(updateVer, currentVer)) {

                let warningContent = '检测到您的atom-engine-toolkit版本为' + currentVer + '请更新到最新版' + updateVer;

                console.log(colors.red(warningContent));

            }

            else {

                console.log(colors.green('您的atom-engine-toolkit版本' + currentVer + '已经是最新版本, 请继续使用'));

            }

        }

    });

};

   ```

最终的结果如下:

相关文章

网友评论

      本文标题:cli工具版本更新提示

      本文链接:https://www.haomeiwen.com/subject/qmaycqtx.html