如何在一个模块上与多个npm发布者协作

时间:2015-03-30 09:17:39

标签: node.js version-control npm collaboration publisher

如果npm模块上有多个发布者,我们如何组织文件系统和进程?我们是否需要一个公共存储库(例如GIT),或者是否有一种聪明的方式来使用npm自己的发布& amp;更新过程?

我无法理解的主要问题是该软件包的初始发布者无法从软件包本身获取最新版本,是吗?除非他将其作为依赖于另一个包安装,然后更新&从该依赖中发布。

1 个答案:

答案 0 :(得分:-1)

以这种方式使用npm肯定是可能的,尽管它可能不是它的目的。包的初始发布者将创建必要的结构,例如,使用npm init,然后执行npm publish将其提供给其他发布商。

要考虑的几件事情。首先,除非您有一个严格控制的系统来轮流编辑,否则您几乎肯定会遇到合并冲突,多个发布商会同时进行更改。像Git这样的版本控制系统可以帮助解决这些冲突。

其次,您可能不希望中间版本公开发布,原因有很多 - 您可能希望推出一些(可能是不完整的)更改,以便您的联合发布商能够在。或者你可能不希望你的代码在开发过程中出现在野外。所以你可能希望考虑一个私人存储库,如果你沿着这条路走下去 - 例如Sinopia,或其中一个托管解决方案。

希望有所帮助。有关信息,我使用mercurial(用于版本控制)和私人npm repo(sinopia)的组合。