搞开发的基本都绕不开模块仓库这个东西,不管是公司内部私服的 npm、Maven,还是自己搭的 Docker 镜像仓库,用久了总会变得一团糟。我前后折腾过好几个团队的模块仓库,踩过的坑真不少,有的是命名乱到没人找得到包,有的是权限没设好被人误删,还有的是磁盘爆了才发现没做清理。下面这10个技巧都是我实际用下来觉得真管用的,不整虚的,照着做能省不少事。

很多人用模块仓库第一个坏习惯就是随手传,名字起得随心所欲,过两个月自己都不认识。我的建议是动手传包之前先把命名规范写下来,比如统一小写、用中划线、带上业务前缀,版本号严格按语义化来。分类也是,按团队或者按项目建仓库,别全堆一个默认库里。模块仓库一旦乱了,后面找包的时间成本高得吓人。我们团队当时就是没定规矩,结果同一个工具包有三四个版本名字,新人来了完全懵。后来强制按规范走,找包速度肉眼可见地快了。
第二个坑是权限。图方便给所有人开写权限,迟早出事。我见过有人手滑把整个仓库的包删了,恢复起来折腾一下午。合理的做法是读权限放开,写和删收紧,发布走 CI 或者指定几个人操作。私有模块仓库尤其要注意,外部依赖和内部包分开存,别混在一起,不然哪天同步出问题连累一片。这块花十分钟配置,能省后面几小时的救火。

模块仓库最容易被忽略的就是清理。快照版本、旧版本、没人用的包越积越多,磁盘说满就满。我的习惯是每月过一遍,把超过半年没人拉取的包标记出来,确认后清掉,快照版本设个保留数量上限。备份也别偷懒,配置文件和关键包定期导一份到别的地方,真出故障的时候能救命。这几步做下来,模块仓库的维护压力小很多,也不至于哪天突然挂掉影响整条发布流水线。
剩下几个技巧顺带提一句:善用仓库的搜索和标签功能,给常用包打标记;开启访问日志,出问题能追溯;依赖代理缓存配好,减少外网拉取;版本发布加校验,防止传错包;再就是文档写清楚,谁都能上手。这10个技巧说难不难,关键是坚持执行,模块仓库管顺了,团队协作真的会轻松不少。
