1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
|
.\" Generated with Ronnjs/v0.1
.\" http://github.com/kapouer/ronnjs/
.
.TH "NPM\-CONFIG" "1" "August 2010" "" ""
.
.SH "NAME"
\fBnpm-config\fR \-\- Manage the npm configuration file
.
.SH "SYNOPSIS"
.
.nf
npm config set <key> <value> [\-\-global]
npm config get <key>
npm config delete <key>
npm config list
.
.fi
.
.SH "DESCRIPTION"
npm gets its configuration values from 5 sources, in this priority:
.
.IP "\(bu" 4
cli:
The command line flags\. Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli
parser to stop reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of
the command will be given the value of \fBtrue\fR\|\.
.
.IP "\(bu" 4
env:
Any environment variables that start with \fBnpm_config_\fR will be interpreted
as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in
your environment will set the \fBfoo\fR configuration parameter to \fBbar\fR\|\. Any
environment configurations that are not given a value will be given the value
of \fBtrue\fR\|\. Config values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will
work the same\.
.
.IP "\(bu" 4
$HOME/\.npmrc (or the \fBuserconfig\fR param, if set above):
This file is an ini\-file formatted list of \fBkey = value\fR parameters\.
.
.IP "\(bu" 4
$PREFIX/etc/npmrc (or the \fBglobalconfig\fR param, if set above):
This file is an ini\-file formatted list of \fBkey = value\fR parameters
.
.IP "\(bu" 4
default configs:
This is a set of configuration parameters that are internal to npm, and are
defaults if nothing else is specified\.
.
.IP "" 0
.
.SH "Sub\-commands"
Config supports the following sub\-commands:
.
.SS "set"
.
.nf
npm config set key value
.
.fi
.
.P
Sets the config key to the value\.
.
.SS "get"
.
.nf
npm config get key
.
.fi
.
.P
Echo the config value to stdout\. (NOTE: All the other npm logging is done to
stderr, so pipes should work properly, and you can do \fBnpm get key 2>/dev/null\fR
to print out JUST the config value\.)
.
.SS "list"
.
.nf
npm config list
.
.fi
.
.P
Show all the config settings\.
.
.SS "delete"
.
.nf
npm config delete key
.
.fi
.
.P
Deletes the key from all configuration files\.
.
.SH "Config Settings"
npm supports a very basic argument parser\. For any of the settings
in npm\-config(1), you can set them explicitly for a single command by
doing:
.
.IP "" 4
.
.nf
npm \-\-key val <command>
.
.fi
.
.IP "" 0
.
.P
Configurations defined on the command line are not saved to the \.npmrc file\.
.
.SS "loglevel"
Default: "info"
.
.P
The log level to show\. Levels are: verbose, info, warn, error, win, silent\.
Each of these maps to a numeric value, above which all logs must pass to be
seen\. "win" only shows the "ok" or "not ok" ending message\. The other
options are self\-explanatory\.
.
.SS "auto\-activate"
Default: true
.
.P
Automatically activate a package after installation, if there is not an active
version already\. Set to "always" to always activate when installing\.
.
.SS "update\-dependents"
Default: true
.
.P
Automatically update a package\'s dependencies after installation, if it is the
newest version installed\. Set to "always" to update dependents when a new
version is installed, even if it\'s not the newest\.
.
.SS "root"
Default: \fB$INSTALL_PREFIX/lib/node\fR
.
.P
The root folder where packages are installed and npm keeps its data\.
.
.SS "binroot"
Default: \fB$INSTALL_PREFIX/bin\fR
.
.P
The folder where executable programs are installed\.
.
.P
Set to "false" to not install executables
.
.SS "manroot"
Default: $INSTALL_PREFIX/share/man
.
.P
The folder where man pages are installed\.
.
.P
Set to "false" to not install man pages\.
.
.SS "registry"
Default: https://registry\.npmjs\.org/
.
.P
The base URL of the npm package registry\.
.
.SS "_auth"
A base\-64 encoded "user:pass" pair\. This is created by npm\-adduser(1)\.
.
.P
If your config file is ever corrupted, you can set this manually by doing:
.
.IP "" 4
.
.nf
npm adduser
.
.fi
.
.IP "" 0
.
.SS "_authCrypt"
If crypto\.Cipher is available, and you have some private keys in \fB$HOME/\.ssh\fR,
then npm will encrypt your "\fIauth" config before saving to the \.npmrc file,
and will decrypt the "\fRauthCrypt" config when it reads the \.npmrc file\.
.
.SS "tag"
Default: latest
.
.P
If you ask npm to install a package and don\'t tell it a specific version, then
it will install the specified tag\.
.
.P
Note: this has no effect on the npm\-tag(1) command\.
.
.SS "proxy"
If proxy is available, then npm will fetch the modules from the registry via
the proxy server\.
.
.P
Example:
.
.IP "" 4
.
.nf
proxy = http://proxy\-server:8080
.
.fi
.
.IP "" 0
.
.SS "userconfig"
The default user configuration file is process\.env\.HOME+"/\.npmrc"\.
.
.P
Note that this must be provided either in the cli or env settings\. Once the
userconfig is read, it is irrelevant\.
.
.SS "globalconfig"
The default global configuration file is resolved based on the location of the
node executable\. It is process\.execPath+"/\.\./\.\./etc/npmrc"\. In the canonical
NodeJS installation with \fBmake install\fR, this is \fB/usr/local/etc/npmrc\fR\|\. If you
put the node binary somewhere else (for instance, if you are using nvm or
nave), then it would be resolved relative to that location\.
.
.P
Note that this must be provided in the cli, env, or userconfig settings\. Once
the globalconfig is read, this parameter is irrelevant\.
.
.SS "global"
If set to some truish value (for instance, by being the last cli flag or being
passed a literal \fBtrue\fR or \fB1\fR), and the \fBnpm config set\fR param is being
called, then the new configuration paramater is written global config file\.
Otherwise, they are saved to the user config file\.
.
.SS "dev"
If set to a truish value, then it\'ll install the "devDependencies" as well as
"dependencies" when installing a package\.
.
.P
Note that devDependencies are \fIalways\fR installed when linking a package\.
.
.SS "tar"
Default: env\.TAR or "tar"
.
.P
The name of a GNU\-compatible tar program on your system\.
|