美文网首页
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