PNPM
Fast, disk space efficient package manager:
- Fast. Up to 2x faster than the alternatives (see benchmark).
- Efficient. Files inside node_modules are linked from a single content-addressable storage.
- Great for monorepos.
- Strict. A package can access only dependencies that are specified in its package.json.
- Deterministic. Has a lockfile called pnpm-lock.yaml.
- Works as a Node.js version manager. See pnpm env use.
- Works everywhere. Supports Windows, Linux, and macOS.
- Battle-tested. Used in production by teams of all sizes since 2016.
- See the full feature comparison with npm and Yarn.
Installation Instructions
Linux
Linux
Download Artefact
{
"url": "{{ .SVar `.tool.pnpm.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.pnpm.download.filename` }}",
"overwrite": false
} Copy download to tool space
{
"source": "{{ .PDownloads }}/{{ .SVar `.tool.pnpm.download.filename` }}",
"destination": "{{ .PTools }}/pnpm/{{ .SVar `.tool.pnpm.download.version` }}/pnpm"
} Make sure artefact is executable
{
"path": "{{ .PTools }}/pnpm/{{ .SVar `.tool.pnpm.download.version` }}/pnpm",
"permission_bits": 504
}
MacOS
MacOS
Download Artefact
{
"url": "{{ .SVar `.tool.pnpm.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.pnpm.download.filename` }}",
"overwrite": false
} Copy download to tool space
{
"source": "{{ .PDownloads }}/{{ .SVar `.tool.pnpm.download.filename` }}",
"destination": "{{ .PTools }}/pnpm/{{ .SVar `.tool.pnpm.download.version` }}/pnpm"
} Make sure artefact is executable
{
"path": "{{ .PTools }}/pnpm/{{ .SVar `.tool.pnpm.download.version` }}/pnpm",
"permission_bits": 504
} Binaries
- pnpm