安装故障排查
所有插件都是免费公开包,不需要登录、申请或私有源密码。先看索引是否公开,再看缓存和版本。
先跑这几条
把 web 换成你的 profile(桌面版常见 desktop),包名/版本换成详情页显示的。
dsh --version curl -s https://plugins.yulingshu.com/index.json | head -c 300 curl -sI https://plugins.yulingshu.com/index.json | grep -i etag npm cache verify
症状对照表
| 症状 | 常见原因 | 处理 |
|---|---|---|
| 404 / 在 Discover 里找不到 | 插件未公开、已过期、已下架,或包名/版本写错。 | 回目录确认插件仍公开;用详情页的包名和版本;等索引刷新(最多约 1 分钟)。 |
| EINTEGRITY / integrity 不匹配 | 本地缓存里的旧 tarball 与索引里的 integrity 不一致。 | 清缓存后重装:npm cache verify && pnpm store prune;不要手改 integrity 或 lockfile。 |
| engines.dsh 不兼容 | 当前 DSH 版本不满足该版本声明的 engines.dsh 范围。 | 升级 DSH,或安装详情页标注兼容的旧版本;不要改包里的 engines 绕过。 |
| ETag / 索引缓存 | /index.json 缓存 60 秒,DSH 自己还会缓存约 10 分钟。 | 等最多约 10 分钟,重开 Discover 或重启 DSH。ETag 没变说明索引没重建。 |
| tarball 404 / 下载失败 | 包已从 registry 移除,或 registry 地址不可达。 | 确认详情页的 registry 主机可访问;已下架插件不再保证能重新安装。 |
| 安装后插件不可用 | DSH 版本过低、权限未授予,或插件依赖缺失。 | 看插件详情的 compatibility 和 permissions;升级 DSH 后重启。 |
需要配置 .npmrc 吗?
- 不需要。所有插件都是公开包,index.json 里已经带了 registry 地址,DSH 直接拉取。
- 没有账号、token、私有源密码;如果安装时被要求登录,通常是缓存或配置了旧的 scoped registry。
- 检查是否还有旧的 `@scope:registry` 或 `//host/:_auth` 配置,清掉后重启 DSH。
常用排查命令
包名里的 @scope/name 直接写,不要 URL 编码。
dsh --version curl -s https://plugins.yulingshu.com/index.json | head -c 300 npm view @scope/name@1.2.3 dist.tarball dist.integrity --registry https://site-registry-mmcszbxc.gzg.sealos.run/ npm cache verify pnpm store prune dsh plugin --profile web add @scope/name@1.2.3
还是装不上
收集 DSH 版本、完整报错、包名@版本和出错的命令,通过页脚的联系方式发给管理员。不要发密码或 token。