跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

首页/开发者与插件开发/发布与版本管理

同一插件面向两个 0.2.x 代际:怎么出两个发行版

插件要同时支持 0.2.1 与 0.2.2 两条线,不知道用 dist-tag 还是发两个包名。

待实测版本与环境核验日期2026-11-14
前置
一个能发版的插件包
核验日期
2026-11-14
诚实说明:这一条本站没有做——发两个发行版需要真实的双宿主测试环境(0.2.1与0.2.2各一个),本机只有0.1.2。所以下面是可查证的事实与可选方案,不是已验证的做法。

可查证的事实:两条线确实在并行

npm上的发布时间证明0.2.1与0.2.2是并行维护的,不是简单的新盖旧:

版本发布时间说明
0.2.2-alpha.22026-10-270.2.2线开始
0.2.1-rc.52026-10-29比上一行晚两天,但版本号更小
0.2.2-rc.12026-11-04成为latest
0.2.1-rc.42026-10-260.2.1线最后一个rc

所以「只支持最新版」的假设在这里会漏掉一批用户。

三条可选路线

路线怎么做代价
一个大版本覆盖两代engines.dsh写成 >=0.2.1-rc.5 || >=0.2.2-rc.1,代码里按宿主能力分支最好维护;但要在两代上都实测
dist-tag分流同一包名,发两个tag指向不同版本用户必须知道该装哪个tag;装错不会被拦
两个包名如plugin与plugin-legacy最清晰;但要维护两份issue与文档

参考现成的做法

dsh-context选的是第一条:>=0.2.0-rc.2 || >=0.2.1-rc.2 || >=0.2.2-rc.1——把三代入口都列上,用一个版本覆盖。这也是本站在实测中唯一见到的多代写法。

要补这条实测,需要:两个宿主版本各起一次、同一份插件代码、确认两代都能加载并apply。本站缺0.2.1 / 0.2.2宿主环境,所以标「待实测」。

怎么算跑通

照着逐条对,全过才算完成。有一条没过,先解决它再往下。

  • 知道两条线是并行维护而不是新盖旧
  • 能说出三条路线各自的代价
  • 没有把未验证的做法写成步骤

会失败在哪

现象 / 原因 / 怎么办,按实际踩到的顺序写。

现象原因怎么办
按版本号大小判断哪条线更新实测有两处时间与版本号顺序相反看npm上的发布时间,不看数字大小

来源

标「已核验」的,来自本站实跑;标「公开资料整理」的,逐条附出处。