Files
pnpm/pnpm
Ayush SinghandZoltan Kochan 8aea95bb06 fix(cli): report why pnpm --version cannot use the pinned pnpm (#14838)
Installing the pinned pnpm and recording the pin both write, and a sandbox with a read-only filesystem has nowhere to write. Printing a version has to work there too, so `pnpm --version` now reports the failure and answers with the running version. The checks that reject a project outright, such as a pin naming another package manager, still fail the command rather than being swallowed along with it.

Both stacks go on recording the pin for every command, `--version` included. Only the write's failure is tolerated, not the write itself.

`--store-dir` now reaches the pre-command pass through apply_store_dir_override, so a relative or tilde-prefixed value is anchored and gains the store-version directory the rest of the CLI gives it.

Fixes https://github.com/pnpm/pnpm/issues/14831

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2026-09-14 13:26:51 +02:00
..

pnpm v12 (pacquet)

The pnpm v12 CLI is implemented in Rust. pacquet is its in-repository package name; the published CLI and executable are named pnpm.

pnpm v12 is the target for new feature development. The TypeScript pnpm v11 CLI under ../pnpm11/ is maintained for bug fixes. Bugs present in both versions are fixed in both implementations. Bugs present in only one version are fixed in that version. New features are not backported to v11.

See CONTRIBUTING.md for development setup, debugging, testing, and benchmarking.

Benchmark