jup documentation
jup reads the package manager declared in package.json, downloads and verifies that release, and runs it. It supports npm, pnpm, and Yarn.
{
"packageManager": "pnpm@11.1.2+sha512.abc123..."
}When pnpm install runs through a jup shim, it uses the pinned release rather than an unrelated global installation. The same pin can be used on developer machines, in CI, and in containers.
Note
jup is not published to npm yet. Follow the source installation steps in Getting started.
#Start here
- Getting started — install jup, enable its shims, and pin a package manager.
- Projects and workspaces — configure exact versions, ranges,
devEngines, workspaces, and.corepack.lock.
#Deployment guides
- CI and offline use — warm the cache, build container layers, freeze range resolutions, and move package managers to isolated machines.
- Registries and networking — configure private registries, authentication,
.npmrc, proxies, TLS, timeouts, and retries. - Download verification — understand digests, registry signatures, signing keys, trust boundaries, and Yarn Berry downloads.
#Reference
- Commands — review every command and its side effects.
- Environment variables — find every supported
JUP_*setting.
#Migration and support
- Migrating from Corepack — reuse existing project configuration and understand behavior that differs from Corepack.
- Troubleshooting — diagnose shim, cache, registry, TLS, and verification failures.
Tip
If jup selects an unexpected manifest or version, run jup info. It reports the project pin, registry, cache entry, and active shims without contacting the network.