Wiki Article
Pnpm
Nguồn dữ liệu từ Wikipedia, hiển thị bởi DefZone.Net
| pnpm | |
|---|---|
| Developers | Zoltan Kochan and other contributors |
| Release | 28 June 2017 |
| Stable release | 12.0.0[1] |
| Written in | TypeScript, JavaScript, Rust |
| Platform | Cross-platform |
| Type | Package manager |
| License | MIT License |
| Website | pnpm |
| Repository | |
pnpm (short for Performant npm)[2] is one of the main JavaScript package managers,[3] originally developed in 2016 by Rico Sta. Cruz for the Node.js JavaScript runtime environment[4] as a disk space-efficient alternative to npm.[5][6]
History
[edit]The first commit to the pnpm repository was made on 27 January 2016.[7] The pnpm project was inspired by Alexander Gugel’s ied – an early experiment that used symbolic links to organise node_modules. The first stable release (v1.0.0) arrived on 28 June 2017. Over the following years, pnpm gained traction for its novel approach to dependency hoisting and its ability to handle large monorepos efficiently.[8] On August 26, 2026, pnpm version 12.0 was released, which was a rewrite of pnpm from TypeScript to Rust.[4][9]
Technical design
[edit]pnpm's core innovation is its use of a global content-addressable store to manage dependencies. Instead of copying files into each project's node_modules folder, it stores a single copy of each package version in a central location (e.g., ~/.pnpm-store) and creates hard links from the project to these files. Symbolic links are then used to construct the dependency tree within the project.[10]
See also
[edit]References
[edit]- ^ "Release pnpm 12". 26 August 2026. Retrieved 27 August 2026.
- ^ "Frequently Asked Questions | pnpm". pnpm.io. Retrieved 2026-01-09.
- ^ "Package management basics". MDN. 2022-09-28.
- ^ a b Jackson, Joab (4 September 2026). "JavaScript installer pnpm recast in Rust because ECMAScript can't keep up". The Register. Retrieved 7 September 2026.
- ^ Lawson, Loraine (20 April 2024). "Dev News: Vercel Preps for React 19; New jQuery, pnpm Releases". thenewstack.io. Retrieved 11 September 2024.
- ^ Adam D. Scott; Matthew MacDonald; Shelley Powers (16 July 2021). JavaScript Cookbook (3 ed.). O'Reilly Media. ISBN 978-1492055709. Retrieved 12 September 2024.
- ^ pnpm (2016-01-27). "Initial commit · pnpm/pnpm@4b42e5f". GitHub. Retrieved 2026-01-09.
- ^ Kochan, Zoltan (2017-06-28). "pnpm version 1 is out!". pnpm. Retrieved 2026-07-05.
- ^ Kochan, Zoltan (2026-08-26). "pnpm 12.0". pnpm. Retrieved 2026-08-27.
- ^ "What is the purpose of the virtual store and its parent (node_modules), in pnpm?". Stack Overflow. Retrieved 2026-07-05.