前言
monorepo
仓库管理,其实社区已经有很多成熟的方案出来了,总结一句话就是All In One
。例如,多个包全部收纳到一个仓库里去做发布管理,一套配置,一套命令,完成build
、publish
等。
今天着重讲一下在使用lerna
包管理工具时,出现的问题。
问题:当
lerna publish
无法使用时,nexus
也不允许重复提交。
先解释一下,什么是:”nexus
也不允许重复提交”?>>
nexus
发包策略:1. 重复提交;2. 不允许重复提交。
原始人思路
npm view pkg version
;diff local pkg version
;collect different pkg list
;publish pkg list
;
使用工具库:compare-versions
高级灵长类
学习lerna
的思路:
fetch from integrity with local version
;publish pkg at the same time
;
使用工具库: pacote
综合考量下来,第二种方案更为优雅,大批量包版本发布耗时最短。