如何支持生活在一个git仓库中的多个私有npm包?
npm
非常擅长支持发布到全球/中央npm
回购软件包,这对于私人应用程序代码来说效果不佳。 npm
也支持添加一个git仓库作为一个依赖项,让你有一个私人的依赖。
问题是,据我所知最好的做法是,我的npm
软件包往往是非常紧凑和小,而我的git回购往往是更大的,将包括几个npm
包。 我不知道有什么办法来达到这个粒度,同时指向一个Github的URL。 如何解决这个问题?
UPDATE
我接受了“不要这样做,留在铁轨上”的答案。 我同意这个build议,但是YMMV。
我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的说明