如何在一个git回购中支持多个私有npm包?

如何在一个git回购中支持多个私有npm包?,git,node.js,github,npm,Git,Node.js,Github,Npm,npm非常擅长支持发布到全局/中央npmrepo的包,这对私有应用程序代码不起作用npm还支持将git repo添加为依赖项,这允许您拥有私有依赖项 问题是,据我所知,作为最佳实践,我的npm包往往非常紧凑和小,而我的git回购往往更大,并且将包括几个npm包。我不知道在指向github URL时如何达到这种粒度。如何解决这个问题 更新 我接受了这样的回答:“不要这样做,保持正轨。”我同意这一建议,但YMMV。您也可以建立自己的本地npm存储库 我认为,一次回购多个包是一个坏主意,因为以下

npm
非常擅长支持发布到全局/中央
npm
repo的包,这对私有应用程序代码不起作用
npm
还支持将git repo添加为依赖项,这允许您拥有私有依赖项

问题是,据我所知,作为最佳实践,我的
npm
包往往非常紧凑和小,而我的git回购往往更大,并且将包括几个
npm
包。我不知道在指向github URL时如何达到这种粒度。如何解决这个问题

更新


我接受了这样的回答:“不要这样做,保持正轨。”我同意这一建议,但YMMV。

您也可以建立自己的本地npm存储库


我认为,一次回购多个包是一个坏主意,因为以下几个原因。您应该将包视为自己的实体:独立构建、测试和部署。总而言之,每个方案都应该有自己的回购协议

也就是说,我完全理解能够对一个“commons”软件包进行
npm安装的好处,并让它一次抓取您需要的所有软件包。我建议看看实现这一目标的方法。简言之,他们有一堆grunt contrib包(例如grunt contrib咖啡),每个包都位于自己的存储库中。然后,他们创建一个单独的存储库来定义父“grunt contrib”包。这个父包所做的就是指定所有子包上的依赖项。这允许您执行
npm安装grunt-contrib-coffee
(例如)并仅获取grunt-contrib-coffee包;或者您可以执行
npm安装grunt contrib
,一次完成整个套件


希望这有帮助

我认为那是不可能的。拥有多个git存储库有什么不对?@TheHippo github对每个回购都收费。独立构建、测试和部署与独立登录无关。感谢grunt rec,我会在某个时候进行研究。@Jacob-你说包是“自己的实体”,“独立构建、测试和部署”都很好,但你的结论是“每个包都应该在自己的repo中生存”,这不符合逻辑,这个论点没有空间。一个存储库(或所谓的mono repos)有许多优点,比如:您可以更轻松地在组件之间进行集成测试,您可以更轻松地将组件作为一个整体进行开发。对我来说,这是共享接口的多个连接包的理想选择。我认为,由于工具的限制,添加意识形态是不好的。