代码之家  ›  专栏  ›  技术社区  ›  Marvin Danig

如何制作自更新节点包?

  •  2
  • Marvin Danig  · 技术社区  · 9 年前

    我们有一个node_module bookiza 它本质上是一个命令行工具,人们可以使用--global标志安装,然后使用它在线创建和发布图书。我们(大部分)都在关注这件事,但我预计未来会严格执行。

    有没有办法使这个模块成为一个自我更新的模块?因此,我们的所有客户(作家)都在同一版本的bookiza上(除非他们禁用自动更新)。本质上,跑步 npm update [-g] bookiza 每15天或当发布新版本时。

    我应该如何实施这一点?

    2 回复  |  直到 8 年前
        1
  •  6
  •   Stephen Hegele    5 年前

    对于那些正在寻找相同内容的人,我创建了一个自动更新节点的模块。git存储库中的js应用程序。它比较本地包。json,然后自动克隆repo并安装依赖项。

    自动Git更新- https://github.com/chegele/AutoGitUpdate

    import AutoGitUpdate from 'auto-git-update';
    
    const config = {
        repository: 'https://github.com/chegele/BackupPurger'
        tempLocation: 'C:/Users/scheg/Desktop/tmp/',
        ignoreFiles: ['util/config.js'],
        executeOnComplete: 'C:\\Users\\scheg\\Desktop\\worksapce\\AutoGitUpdate\\startTest.bat',
        exitOnComplete: true
    }
    
    const updater = new AutoGitUpdate(config);
    
    updater.autoUpdate();
    
        2
  •  1
  •   Christian Stewart    9 年前

    您的用户可以通过多种方式安装命令行工具 npm install -g 特别是在他们的环境中。

    我认为这里最好的做法是在开始时进行某种“最新版本”检查。如果有新版本,请警告用户,并使用[Y/n]自动运行更新命令。

    这就是鲍尔和其他几个包裹所做的。