pnpm
Version:
A fast implementation of npm install
94 lines (64 loc) • 2.76 kB
Markdown
# pnpm
[](https://www.npmjs.com/package/pnpm)
[](https://travis-ci.org/rstacruz/pnpm "See test builds")
[](https://ci.appveyor.com/project/zkochan/pnpm/branch/master)
> Performant npm installations
pnpm is a fast implementation of `npm install`. It is loosely based off [ied].

*Read our [contributing guide](CONTRIBUTING.md) if you're looking to contribute.*
Follow the [pnpm Twitter account](https://twitter.com/pnpmjs) for updates.
## Table of Contents
* [Background](#background)
* [Install](#install)
* [Usage](#usage)
* [Custom registries](#custom-registries)
* [Preview release](#preview-release)
* [Benchmark](#benchmark)
* [Prior art](#prior-art)
* [License](#license)
## Background
`pnpm` maintains a flat storage of all your dependencies in `node_modules/.store`. They are then symlinked wherever they're needed.
This nets you the benefits of less disk space usage, while keeping your `node_modules` clean.
See [store layout](docs/store-layout.md) for an explanation.
```
.
└─ node_modules/
├─ .store/
│ ├─ chalk@1.1.1/_/
│ │ └─ node_modules/
│ │ ├─ ansi-styles -> ../../../ansi-styles@2.1.0/_
│ │ └─ has-ansi -> ../../../has-ansi@2.0.0/_
│ ├─ ansi-styles@2.1.0/_/
│ └─ has-ansi@2.0.0/_/
└─ chalk -> .store/chalk@1.1.1/_
```
## Install
Install it via npm.
```
npm install -g pnpm
```
## Usage
Use `pnpm` in place of `npm`. It overrides `pnpm i`, `pnpm install` and some other command, the rest will passthru to `npm`.
```
pnpm install lodash
```
## Custom registries
pnpm uses whatever npm's configured to use as its registry. See: [custom registries](docs/custom-registries.md).
## Preview release
`pnpm` will stay in `<1.0.0` until it's achieved feature parity with `npm install`. See [roadmap](docs/roadmap.md) for details.
## Benchmark
```
time npm i babel-preset-es2015 browserify chalk debug minimist mkdirp
66.15 real 15.60 user 3.54 sys
```
```
time pnpm i babel-preset-es2015 browserify chalk debug minimist mkdirp
11.04 real 6.85 user 2.85 sys
```
## Prior art
* [Compared to ied](docs/vs-ied.md)
* [Compared to npm](docs/vs-npm.md)
## License
[MIT](https://github.com/rstacruz/pnpm/blob/master/LICENSE) © [Rico Sta. Cruz](http://ricostacruz.com) and [contributors]
[contributors]: http://github.com/rstacruz/pnpm/contributors
[ied]: https://github.com/alexanderGugel/ied