Lazy Mirroring for npmjs.org
A lazy mirroring local npm server.
This package provides a lazy mirroring option for those that:
npm install -g npm-lazy-mirror
With CLI flags:
npm-lazy-mirror -p <port> -a <remote_address> -b <bind_address> --cache-dir /npm-data
With a JSON configuration:
npm-lazy-mirror -C /path/to/config,json
example/server-config.json for usage.
remote_address configuration is important, as it is the address used when re-writing
tarball URLs in the metadata. It's certainly always best to use a DNS entry here,
rather than an IP.
Simply point your local npm config to the lazy mirror (permanent):
npm config set registry http://localhost:2000/
or per install:
npm i --registry http://localhost:2000 supertest
npm-lazy-mirror -h to see a full list of options.
A cold run installing
express takes ~12 seconds (fetching from upstream registry on-the-fly):
npm install express 2.44s user 0.81s system 27% cpu 11.769 total
A warm run after all
express assets are locally cached takes ~3 seconds:
npm install express 2.43s user 0.78s system 115% cpu 2.768 total
You cannot use this mirror for publishing modules or user management, such requests will be forwarded to the upstream registry for processing.