node package manager


My Personal NPM (NPM Lazy Mirror)


My Personal NPM (NPM Lazy Mirror)

mpnpm is a lazy local mirror/cache for npm.

mpnpm is a reinterpretation of the npm_lazy package from mixu.

mpnpm caches metadata & packages where you install it. By default, metadatas & packages are cached for 1 hour. You can change this in the config.

Clone this repo or do an npm install mpnpm

Modify the file config.json at the root of mpnpm (see Documentation below), then launch the server with node bin/server.js

npm --registry http://localhost:54321 install package
npm config set registry http://localhost:54321

or add/modify this line in your config file ~/.npmrc :

registry = http://localhost:54321

Need more help ? Type npm help config or npm help registry


    "npm": {
        "registry": ""
    "cache": {
        "dir": ".mpnpm",
        "ttl": 3600000
    "server": {
        "log": true,
        "port": 54321,
        "url": "http://localhost:54321"
  • npm.registry is the url of the npm registry which will be called for downloading metadata & packages
  • cache.dir is the name of the directory where will be stored the cached data
  • cache.ttl is time to live duration of the data in the cache, in milliseconds. By default, the value is one hour (3600000ms).
  • server.log is a boolean to (un)activate logging on the server
  • server.port is the port of listening for the node server
  • server.url is the cache registry url you will call with npm

In lieu of a formal styleguide, take care to maintain the existing coding style. Lint your code using Grunt.

  • 2013/11/15 : v1.0.0

Writing unit tests :)

Copyright (c) 2013 Leny
Licensed under the MIT license.