DSH Toolbox

Plugin X is incompatible with dsh Y

插件声明了 engines.dsh 区间,你的命令行在区间外,所以启动时被跳过,而不是带着一个可能崩的组合加载。

报错里两个版本号都写了,够直接判断,不用猜。

报错原文

形如 "Plugin dsh-client-ui-aqua@1.3.1 is incompatible with dsh 0.2.1-rc.2"。

先看这几处,按概率排

插件是给更新的 dsh 线发布的。权威是它 package.json 里的 engines.dsh,不是 README。

你在候选版上,而插件钉了很窄的窗口,比如 >=0.2.2-rc.1 <0.2.3-0。

同一个 profile 里两个插件对区间的声明互相矛盾,只要装着一个,另一个就永远加载不了。

只有两条真选择

把 dsh 升到区间内,或装回匹配你 dsh 的插件版本。愿意为单个包担风险就放行那一个版本:

dsh plugin allow-version <package>

这条没用就看下一步

从 tarball 读区间,而不是看 npm 页面:npm view <package> engines.dsh。

区间完全不包含你的 dsh,allow-version 也救不了,得等插件更新。

常见问题

allow-version 会改插件吗?

不会。它只给这个包记一条豁免,让启动检查放行,代码没动。

豁免记在哪?

记在 profile 目录里、和 profile 清单放一起,所以换一个 profile 就不生效。