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

npm非常擅长支持发布到全球/中央npm回购软件包,这对于私人应用程序代码来说效果不佳。 npm也支持添加一个git仓库作为一个依赖项,让你有一个私人的依赖。

问题是,据我所知最好的做法是,我的npm软件包往往是非常紧凑和小,而我的git回购往往是更大的,将包括几个npm包。 我不知道有什么办法来达到这个粒度,同时指向一个Github的URL。 如何解决这个问题?

UPDATE

我接受了“不要这样做,留在铁轨上”的答案。 我同意这个build议,但是YMMV。

       

网上收集的解决方案 "如何支持生活在一个git仓库中的多个私有npm包?"

我build议一个包含多个包的回购是一个坏主意,因为几个原因。 您应该将包视为自己的实体:独立构build,testing和部署。 所有这一切说,每个包应该在自己的回购。

也就是说,我完全理解能够做一个“commons”包的npm install <package-group>的好处,并且能够一次抓取所有你需要的包。 我会build议看看完成这个grunt-contrib模型 。 简而言之,他们有一大堆的grunt-contrib-packages(例如grunt-contrib-coffee),每个都在自己的仓库中。 然后他们创build一个独立的存储库,定义父“grunt-contrib”包。 这个父包所做的就是指定所有子包的依赖关系。 这可以让你做一个npm install grunt-contrib-coffee (例如),并得到grunt-contrib-coffee包; 或者你可以做npm install grunt-contrib并把他们的整个套件都集中在一起。

希望这可以帮助!

你也可以build立你自己的本地npm仓库。

  • * nix / OSX的说明
  • Windows的说明