4 <meta http-equiv="content-type" value="text/html;utf-8">
5 <link rel="stylesheet" type="text/css" href="../../static/style.css">
6 <link rel="canonical" href="https://www.npmjs.org/doc/files/npmrc.html">
7 <script async=true src="../../static/toc.js"></script>
12 <h1><a href="../files/npmrc.html">npmrc</a></h1> <p>The npm config files</p>
13 <h2 id="description">DESCRIPTION</h2>
14 <p>npm gets its config settings from the command line, environment
15 variables, and <code>npmrc</code> files.</p>
16 <p>The <code>npm config</code> command can be used to update and edit the contents
17 of the user and global npmrc files.</p>
18 <p>For a list of available configuration options, see <a href="../misc/npm-config.html"><a href="../misc/npm-config.html">npm-config(7)</a></a>.</p>
19 <h2 id="files">FILES</h2>
20 <p>The four relevant files are:</p>
22 <li>per-project config file (/path/to/my/project/.npmrc)</li>
23 <li>per-user config file (~/.npmrc)</li>
24 <li>global config file ($PREFIX/etc/npmrc)</li>
25 <li>npm builtin config file (/path/to/npm/npmrc)</li>
27 <p>All npm config files are an ini-formatted list of <code>key = value</code>
28 parameters. Environment variables can be replaced using
29 <code>${VARIABLE_NAME}</code>. For example:</p>
30 <pre><code>prefix = ${HOME}/.npm-packages
31 </code></pre><p>Each of these files is loaded, and config options are resolved in
32 priority order. For example, a setting in the userconfig file would
33 override the setting in the globalconfig file.</p>
34 <p>Array values are specified by adding "[]" after the key name. For
36 <pre><code>key[] = "first value"
37 key[] = "second value"
38 </code></pre><p><strong>NOTE:</strong> Because local (per-project or per-user) <code>.npmrc</code> files can contain
39 sensitive credentials, they must be readable and writable <em>only</em> by your user
40 account (i.e. must have a mode of <code>0600</code>), otherwise they <em>will be ignored by
42 <h3 id="per-project-config-file">Per-project config file</h3>
43 <p>When working locally in a project, a <code>.npmrc</code> file in the root of the
44 project (ie, a sibling of <code>node_modules</code> and <code>package.json</code>) will set
45 config values specific to this project.</p>
46 <p>Note that this only applies to the root of the project that you're
47 running npm in. It has no effect when your module is published. For
48 example, you can't publish a module that forces itself to install
49 globally, or in a different location.</p>
50 <h3 id="per-user-config-file">Per-user config file</h3>
51 <p><code>$HOME/.npmrc</code> (or the <code>userconfig</code> param, if set in the environment
52 or on the command line)</p>
53 <h3 id="global-config-file">Global config file</h3>
54 <p><code>$PREFIX/etc/npmrc</code> (or the <code>globalconfig</code> param, if set above):
55 This file is an ini-file formatted list of <code>key = value</code> parameters.
56 Environment variables can be replaced as above.</p>
57 <h3 id="built-in-config-file">Built-in config file</h3>
58 <p><code>path/to/npm/itself/npmrc</code></p>
59 <p>This is an unchangeable "builtin" configuration file that npm keeps
60 consistent across updates. Set fields in here using the <code>./configure</code>
61 script that comes with npm. This is primarily for distribution
62 maintainers to override default configs in a standard and consistent
64 <h2 id="see-also">SEE ALSO</h2>
66 <li><a href="../files/npm-folders.html"><a href="../files/npm-folders.html">npm-folders(5)</a></a></li>
67 <li><a href="../cli/npm-config.html"><a href="../cli/npm-config.html">npm-config(1)</a></a></li>
68 <li><a href="../misc/npm-config.html"><a href="../misc/npm-config.html">npm-config(7)</a></a></li>
69 <li><a href="../files/package.json.html"><a href="../files/package.json.html">package.json(5)</a></a></li>
70 <li><a href="../cli/npm.html"><a href="../cli/npm.html">npm(1)</a></a></li>
75 <table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
76 <tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr>
77 <tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr>
78 <tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr>
79 <tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr>
80 <tr><td style="width:10px;height:10px;background:#fff"> </td></tr>
81 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
82 <tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
84 <p id="footer">npmrc — npm@2.11.2</p>