| .TH "NPM\-REGISTRY" "7" "June 2016" "" "" |
| .SH "NAME" |
| \fBnpm-registry\fR \- The JavaScript Package Registry |
| .SH DESCRIPTION |
| .P |
| To resolve packages by name and version, npm talks to a registry website |
| that implements the CommonJS Package Registry specification for reading |
| package info\. |
| .P |
| Additionally, npm's package registry implementation supports several |
| write APIs as well, to allow for publishing packages and managing user |
| account information\. |
| .P |
| The official public npm registry is at https://registry\.npmjs\.org/\|\. It |
| is powered by a CouchDB database, of which there is a public mirror at |
| https://skimdb\.npmjs\.com/registry\|\. The code for the couchapp is |
| available at https://github\.com/npm/npm\-registry\-couchapp\|\. |
| .P |
| The registry URL used is determined by the scope of the package (see |
| npm help 7 \fBnpm\-scope\fP)\. If no scope is specified, the default registry is used, which is |
| supplied by the \fBregistry\fP config parameter\. See npm help \fBnpm\-config\fP, |
| npm help 5 \fBnpmrc\fP, and npm help 7 \fBnpm\-config\fP for more on managing npm's configuration\. |
| .SH Can I run my own private registry? |
| .P |
| Yes! |
| .P |
| The easiest way is to replicate the couch database, and use the same (or |
| similar) design doc to implement the APIs\. |
| .P |
| If you set up continuous replication from the official CouchDB, and then |
| set your internal CouchDB as the registry config, then you'll be able |
| to read any published packages, in addition to your private ones, and by |
| default will only publish internally\. |
| .P |
| If you then want to publish a package for the whole world to see, you can |
| simply override the \fB\-\-registry\fP option for that \fBpublish\fP command\. |
| .SH I don't want my package published in the official registry\. It's private\. |
| .P |
| Set \fB"private": true\fP in your package\.json to prevent it from being |
| published at all, or |
| \fB"publishConfig":{"registry":"http://my\-internal\-registry\.local"}\fP |
| to force it to be published only to your internal registry\. |
| .P |
| See npm help 5 \fBpackage\.json\fP for more info on what goes in the package\.json file\. |
| .SH Will you replicate from my registry into the public one? |
| .P |
| No\. If you want things to be public, then publish them into the public |
| registry using npm\. What little security there is would be for nought |
| otherwise\. |
| .SH Do I have to use couchdb to build a registry that npm can talk to? |
| .P |
| No, but it's way easier\. Basically, yes, you do, or you have to |
| effectively implement the entire CouchDB API anyway\. |
| .SH Is there a website or something to see package docs and such? |
| .P |
| Yes, head over to https://npmjs\.com/ |
| .SH SEE ALSO |
| .RS 0 |
| .IP \(bu 2 |
| npm help config |
| .IP \(bu 2 |
| npm help 7 config |
| .IP \(bu 2 |
| npm help 5 npmrc |
| .IP \(bu 2 |
| npm help 7 developers |
| .IP \(bu 2 |
| npm help 7 disputes |
| |
| .RE |
| |