在多个节点模块中维护独立回购的依赖性的策略

我有一个类似于这个问题中描述的情况。 基本上,我正在开发2节点模块,说AB ,其中A依赖于B

对于本地开发者,我克隆这两个项目,并通过全局npm link B利用npm link ,然后将npm link B到A的本地node_modules 。 现在任何对B改变都会被A自动使用。 大。

但问题在于,有时开发者在做本地开发的时候忘记了npm link ,最后安装了B的最新官方版本。 很多时候,这只是碰巧工作,因为B并不总是变化很大,但有时它会以微妙的方式失败,我们得到无效的错误报告和困惑的开发人员。

我应该如何构build我的package.json for A ,以便开发人员在克隆A被迫使用最新的B

一个想法是在发布版本之后冲击B的版本号,然后需要那个不能从npm安装的版本号。 虽然这可以起作用,但这意味着你必须拿出任意版本号来处理master上未发布的工作,并且不会阻止开发人员忘记将这两个项目都更新到最新版本等等。

这里的其他策略/约定是用来帮助这种设置的? 你设置依赖到git的URL? 你使用npm挂钩吗?