1REGISTRY(7) REGISTRY(7)
2
3
4
6 registry - The JavaScript Package Registry
7
8 Description
9 To resolve packages by name and version, npm talks to a registry web‐
10 site that implements the CommonJS Package Registry specification for
11 reading package info.
12
13 npm is configured to use the npm public registry at https://reg‐
14 istry.npmjs.org by default. Use of the npm public registry is subject
15 to terms of use available at https://docs.npmjs.com/policies/terms.
16
17 You can configure npm to use any compatible registry you like, and even
18 run your own registry. Use of someone else's registry may be governed
19 by their terms of use.
20
21 npm's package registry implementation supports several write APIs as
22 well, to allow for publishing packages and managing user account infor‐
23 mation.
24
25 The npm public registry is powered by a CouchDB database, of which
26 there is a public mirror at https://skimdb.npmjs.com/registry.
27
28 The registry URL used is determined by the scope of the package (see
29 npm help scope. If no scope is specified, the default registry is used,
30 which is supplied by the registry config parameter. See npm help con‐
31 fig, npm help npmrc, and npm help config for more on managing npm's
32 configuration.
33
34 When the default registry is used in a package-lock or shrinkwrap is
35 has the special meaning of "the currently configured registry". If you
36 create a lock file while using the default registry you can switch to
37 another registry and npm will install packages from the new registry,
38 but if you create a lock file while using a custom registry packages
39 will be installed from that registry even after you change to another
40 registry.
41
42 Does npm send any information about me back to the registry?
43 Yes.
44
45 When making requests of the registry npm adds two headers with informa‐
46 tion about your environment:
47
48 • Npm-Scope – If your project is scoped, this header will contain its
49 scope. In the future npm hopes to build registry features that use
50 this information to allow you to customize your experience for your
51 organization.
52
53 • Npm-In-CI – Set to "true" if npm believes this install is running in
54 a continuous integration environment, "false" otherwise. This is de‐
55 tected by looking for the following environment variables: CI, TD‐
56 DIUM, JENKINS_URL, bamboo.buildKey. If you'd like to learn more you
57 may find the original PR https://github.com/npm/npm-reg‐
58 istry-client/pull/129 interesting. This is used to gather better
59 metrics on how npm is used by humans, versus build farms.
60
61
62 The npm registry does not try to correlate the information in these
63 headers with any authenticated accounts that may be used in the same
64 requests.
65
66 How can I prevent my package from being published in the official registry?
67 Set "private": true in your package.json to prevent it from being pub‐
68 lished at all, or "publishConfig":{"registry":"http://my-internal-reg‐
69 istry.local"} to force it to be published only to your internal/private
70 registry.
71
72 See npm help package.json for more info on what goes in the pack‐
73 age.json file.
74
75 Where can I find my own, & other's, published packages?
76 https://www.npmjs.com/
77
78 See also
79 • npm help config
80
81 • npm help config
82
83 • npm help npmrc
84
85 • npm help developers
86
87
88
89
90 September 2022 REGISTRY(7)