npx changeset status pnpm --filter @acme/ui publish pnpm --filter @acme/ui add @acme/core@1.4.2
周五晚上一次性发了五个包,其中一个改了公共类型导致线上编译失败,回滚只能把五个包全部退回上一版,另外四个的修复也一起丢了。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,所有包共用一个版本号一起发,出问题时没有单包回退的余地。包之间的依赖范围写成精确版本时,回退一个还会让其他包解析失败。
「多包发布回滚」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。改完隔一天再看一次,当场正常不代表能稳住。
处理上按这个顺序:每个包独立版本 用 changesets 按包记录变更;发布前把互相依赖改成兼容范围 允许单包回退;一次发布不超过两个包 中间留观察窗口;准备好单包回退命令 不要只依赖整仓回滚。
改完只确认一件事:回退单个包后其他包仍能正常安装 线上只影响出问题的那一块。
