如何在一个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存储库
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)有许多优点,比如:您可以更轻松地在组件之间进行集成测试,您可以更轻松地将组件作为一个整体进行开发。对我来说,这是共享接口的多个连接包的理想选择。我认为,由于工具的限制,添加意识形态是不好的。