如何支持生活在一个git仓库中的多个私有npm包?

时间:2013-04-30 17:21:47

标签: git node.js github npm

npm非常擅长支持将包发布到全局/中央npm存储库,这对于私有应用程序代码不起作用。 npm还支持将git repo添加为依赖项,这使您可以拥有私有依赖项。

问题是,正如我所理解的那样,我的npm软件包往往非常紧凑而且很小,而我的git repos往往更大,并且包含多个npm软件包。在指向github URL时,我不知道如何获得这种粒度。怎么解决这个问题?

更新

我接受了“不要这样做,坚持不懈”的答案。我同意这个建议,但YMMV。

2 个答案:

答案 0 :(得分:12)

我建议一个带有多个包的回购是一个坏主意,因为有几个原因。您应该将包视为自己的实体:独立构建,测试和部署。所有这一切,每个包都应该存在于自己的回购中。

话虽这么说,我完全明白能够做一个“公共”包的npm install <package-group>的好处,让它一次性抓住你需要的所有包裹。我建议查看grunt-contrib model来完成此操作。简而言之,他们有一堆grunt-contrib-packages(例如grunt-contrib-coffee),每个人都住在自己的存储库中。然后,他们创建一个单独的存储库,用于定义父“grunt-contrib”包。所有这个父包都指定了对所有子包的依赖关系。这允许你做一个npm install grunt-contrib-coffee(例如)并获得grunt-contrib-coffee包;或者你可以做npm install grunt-contrib并一次性完成整个套件。

希望这有帮助!

答案 1 :(得分:1)

您也可以设置自己的本地npm存储库。

相关问题