dsh-market 浏览插件 使用指南 生态报告 GitHub EN

更新为什么提示「新版等待中」:发布等待期

你看到有新版本,点了更新,市场却让你再等一等,或者给你一个更旧的版本。这不是出错,是 profile 自己设的一段缓冲时间。

等待期是什么

DSH 用 pnpm 安装插件,而 pnpm 可以拒绝发布不久的版本。这个设置叫 minimumReleaseAge,单位是分钟。较新的 pnpm 默认是 1440 分钟,也就是一天。

目的是防供应链风险。有问题的新版本,通常几小时内就会被发现、被撤下。插件拥有和你一样的权限,刚发布一小时的版本直接装进来,风险不小;多等一天,大部分风险就没了。

你会在市场里看到什么

dsh web 和桌面端不一样

dsh web 上,更新时 pnpm 拒绝了太新的版本,市场会对这一条命令关掉等待期重试一次,更新就能完成。桌面端用的是应用自带的插件管理器,它不接受这种覆盖,所以市场会先把更新挂起,等版本够旧再装,并告诉你还剩多久。

怎么改

设置在 profile 目录的 pnpm-workspace.yaml 里:

minimumReleaseAge: 1440
minimumReleaseAgeExclude:
  - some-plugin@2.0.0

想更严,就把数字调大。想只放行某个版本,把它写进 minimumReleaseAgeExclude;在仍用默认设置的 profile 上安装一个指定版本(name@2.0.0)时,这一行会自动加上。把数字整体改成 0,等于所有插件都不设防,只适合你信得过的一次性命令。

「没有匹配的版本」不一定是这个原因

镜像的同步比 npm 官方源慢。上游已经发布的版本,镜像里可能过一阵才有,pnpm 就会报「没有匹配的版本」。如果不是等待期的问题,换成官方源,或者过一会儿再试,就能解决。