mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.7 KiB
71 lines
2.7 KiB
.TH "NPM\-REGISTRY" "7" "November 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
|
|
|
|
|