Install troubleshooting
Every plugin is a free public package; no sign-in, application, or private-registry password. Check whether the index is public, then caches and versions.
Run these first
Replace web with your profile (desktop builds often use desktop); use the package and version shown on the detail page.
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
Symptom table
| Symptom | Likely cause | Fix |
|---|---|---|
| 404 / not in Discover | The plugin is not public, has expired, was unlisted, or the package/version is wrong. | Confirm it is still public in the catalog; use the package and version from the detail page; wait for the index (up to about a minute). |
| EINTEGRITY / integrity mismatch | A stale tarball in the local cache does not match the integrity in the index. | Clear the cache and reinstall: npm cache verify && pnpm store prune. Do not edit the integrity or lockfile. |
| engines.dsh incompatible | The current DSH version does not satisfy the engines.dsh range declared by this version. | Upgrade DSH, or install an older compatible version from the detail page. Do not edit engines in the package. |
| ETag / index cache | /index.json is cached for 60 seconds and DSH caches it for about 10 minutes. | Wait up to about 10 minutes, reopen Discover, or restart DSH. If the ETag has not changed, the index was not rebuilt. |
| tarball 404 / download fails | The package was removed from the registry, or the registry host is unreachable. | Check that the registry host on the detail page is reachable. Unlisted plugins are not guaranteed to be reinstallable. |
| Installed but not working | DSH is too old, permissions were not granted, or a dependency is missing. | Check compatibility and permissions on the detail page; upgrade DSH and restart. |
Do I need .npmrc?
- No. Every plugin is a public package; index.json already carries the registry address and DSH fetches it directly.
- There are no accounts, tokens, or private-registry passwords. Being asked to sign in usually means a cache issue or an old scoped-registry config.
- Check for old `@scope:registry` or `//host/:_auth` entries and remove them, then restart DSH.
Useful commands
Write @scope/name as-is; do not URL-encode it.
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://npm.yulingshu.com/ npm cache verify pnpm store prune dsh plugin --profile web add @scope/name@1.2.3
Still failing
Collect the DSH version, full error, package@version, and the command; send them to the administrator via the footer contact. Do not send passwords or tokens.