合并两个不同的Verdaccio存储文件夹(CouchDb数据库)



我正在尝试设置一个完全离线的Verdaccio安装,我可以将其用作一个小开发团队和我们的构建机器的NPM包的代理。

我的挑战是,我希望能够不时地更新离线的npm包(以添加更多的包(。要做到这一点,我唯一的可能就是使用另一台机器(笔记本电脑(,它位于这个孤立的网络之外,并且有一个单独的Verdaccio安装和npm install包。安装后,我在存储文件夹中有了新的tgz文件。但我的问题是,如何将脱机安装的Verdaccio的Storage文件夹与联机安装的Storage文件夹合并。因为我无法手动执行此操作,尤其是当您的包有很多依赖项时。

是否有我可以轻松设置的复制(我不是CouchDb方面的专家(,甚至可以使用纯CLI指令?或者有没有一种方法可以通过Verdaccio或其他实用程序实现这一点?

请记住,这个网络是完全孤立的(没有网络访问(,即使它也用于开发。

我刚刚得到了一个最疯狂的想法,这可能是一个好的解决方案:

每当我需要合并新的存储文件夹内容时,我只需将其复制到一个临时位置,启动一个新的Verdaccio实例(存储在该位置(,然后简单地将主实例的uplink设置为新的/临时的。

通过这种方式,我将能够在主注册表上的新软件包上运行"npm install",这将自动更新主存储文件夹(合并数据库(。最后,我只需停止第二个Verdaccio实例并清理临时文件夹。

正是为了这个问题,我创建了这个CLI工具:bulk-npm-publish

如何使用:

  1. 将存储文件夹复制到隔离的网络中
  2. 运行bulk-npm-publish3:按照步骤操作(如果通过-i,它将以交互方式运行
  3. 运行输出的发布脚本

使用此工具,您可以跳过现有的包。

相关内容

  • 没有找到相关文章

最新更新