deps: upgrade to npm 2.14.4
[platform/upstream/nodejs.git] / deps / npm / html / doc / cli / npm-update.html
1 <!doctype html>
2 <html>
3   <title>npm-update</title>
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/cli/npm-update.html">
7   <script async=true src="../../static/toc.js"></script>
8
9   <body>
10     <div id="wrapper">
11
12 <h1><a href="../cli/npm-update.html">npm-update</a></h1> <p>Update a package</p>
13 <h2 id="synopsis">SYNOPSIS</h2>
14 <pre><code>npm update [-g] [&lt;name&gt; [&lt;name&gt; ...]]
15 </code></pre><h2 id="description">DESCRIPTION</h2>
16 <p>This command will update all the packages listed to the latest version
17 (specified by the <code>tag</code> config), respecting semver.</p>
18 <p>It will also install missing packages. As with all commands that install
19 packages, the <code>--dev</code> flag will cause <code>devDependencies</code> to be processed
20 as well.</p>
21 <p>If the <code>-g</code> flag is specified, this command will update globally installed
22 packages.</p>
23 <p>If no package name is specified, all packages in the specified location (global
24 or local) will be updated.</p>
25 <p>As of <code>npm@2.6.1</code>, the <code>npm update</code> will only inspect top-level packages.
26 Prior versions of <code>npm</code> would also recursively inspect all dependencies.
27 To get the old behavior, use <code>npm --depth 9999 update</code>, but be warned that
28 simultaneous asynchronous update of all packages, including <code>npm</code> itself
29 and packages that <code>npm</code> depends on, often causes problems up to and including
30 the uninstallation of <code>npm</code> itself.</p>
31 <p>To restore a missing <code>npm</code>, use the command:</p>
32 <pre><code>curl -L https://npmjs.com/install.sh | sh
33 </code></pre><h2 id="examples">EXAMPLES</h2>
34 <p>IMPORTANT VERSION NOTE: these examples assume <code>npm@2.6.1</code> or later.  For
35 older versions of <code>npm</code>, you must specify <code>--depth 0</code> to get the behavior
36 described below.</p>
37 <p>For the examples below, assume that the current package is <code>app</code> and it depends
38 on dependencies, <code>dep1</code> (<code>dep2</code>, .. etc.).  The published versions of <code>dep1</code> are:</p>
39 <pre><code>{
40   dist-tags: { latest: &quot;1.2.2&quot; },
41   versions: { &quot;1.2.2&quot;,
42               &quot;1.2.1&quot;,
43               &quot;1.2.0&quot;,
44               &quot;1.1.2&quot;,
45               &quot;1.1.1&quot;,
46               &quot;1.0.0&quot;,
47               &quot;0.4.1&quot;,
48               &quot;0.4.0&quot;,
49               &quot;0.2.0&quot;
50   }
51 }
52 </code></pre><h3 id="caret-dependencies">Caret Dependencies</h3>
53 <p>If <code>app</code>&#39;s <code>package.json</code> contains:</p>
54 <pre><code>dependencies: {
55   dep1: &quot;^1.1.1&quot;
56 }
57 </code></pre><p>Then <code>npm update</code> will install <code>dep1@1.2.2</code>, because <code>1.2.2</code> is <code>latest</code> and
58 <code>1.2.2</code> satisfies <code>^1.1.1</code>.</p>
59 <h3 id="tilde-dependencies">Tilde Dependencies</h3>
60 <p>However, if <code>app</code>&#39;s <code>package.json</code> contains:</p>
61 <pre><code>dependencies: {
62   dep1: &quot;~1.1.1&quot;
63 }
64 </code></pre><p>In this case, running <code>npm update</code> will install <code>dep1@1.1.2</code>.  Even though the <code>latest</code>
65 tag points to <code>1.2.2</code>, this version does not satisfy <code>~1.1.1</code>, which is equivalent
66 to <code>&gt;=1.1.1 &lt;1.2.0</code>.  So the highest-sorting version that satisfies <code>~1.1.1</code> is used,
67 which is <code>1.1.2</code>.</p>
68 <h3 id="caret-dependencies-below-1-0-0">Caret Dependencies below 1.0.0</h3>
69 <p>Suppose <code>app</code> has a caret dependency on a version below <code>1.0.0</code>, for example:</p>
70 <pre><code>dependencies: {
71   dep1: &quot;^0.2.0&quot;
72 }
73 </code></pre><p><code>npm update</code> will install <code>dep1@0.2.0</code>, because there are no other
74 versions which satisfy <code>^0.2.0</code>.</p>
75 <p>If the dependence were on <code>^0.4.0</code>:</p>
76 <pre><code>dependencies: {
77   dep1: &quot;^0.4.0&quot;
78 }
79 </code></pre><p>Then <code>npm update</code> will install <code>dep1@0.4.1</code>, because that is the highest-sorting
80 version that satisfies <code>^0.4.0</code> (<code>&gt;= 0.4.0 &lt;0.5.0</code>)</p>
81 <h3 id="recording-updates-with-save-">Recording Updates with <code>--save</code></h3>
82 <p>When you want to update a package and save the new version as
83 the minimum required dependency in <code>package.json</code>, you can use
84 <code>npm update --save</code>.  For example if <code>package.json</code> contains</p>
85 <pre><code>dependencies: {
86   dep1: &quot;^1.1.1&quot;
87 }
88 </code></pre><p>Then <code>npm update --save</code> will install <code>dep1@1.2.2</code> (i.e., <code>latest</code>),
89 and <code>package.json</code> will be modified:</p>
90 <pre><code>dependencies: {
91   dep1: &quot;^1.2.2&quot;
92 }
93 </code></pre><p>Note that <code>npm</code> will only write an updated version to <code>package.json</code>
94 if it installs a new package.</p>
95 <h3 id="updating-globally-installed-packages">Updating Globally-Installed Packages</h3>
96 <p><code>npm update -g</code> will apply the <code>update</code> action to each globally- installed
97 package that is <code>outdated</code> -- that is, has a version that is different from
98 <code>latest</code>.</p>
99 <p>NOTE: If a package has been upgraded to a version newer than <code>latest</code>, it will
100 be <em>downgraded</em>.</p>
101 <h2 id="see-also">SEE ALSO</h2>
102 <ul>
103 <li><a href="../cli/npm-install.html">npm-install(1)</a></li>
104 <li><a href="../cli/npm-outdated.html">npm-outdated(1)</a></li>
105 <li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li>
106 <li><a href="../misc/npm-registry.html">npm-registry(7)</a></li>
107 <li><a href="../files/npm-folders.html">npm-folders(5)</a></li>
108 <li><a href="../cli/npm-ls.html">npm-ls(1)</a></li>
109 </ul>
110
111 </div>
112
113 <table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
114 <tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
115 <tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
116 <tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
117 <tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
118 <tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
119 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
120 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
121 </table>
122 <p id="footer">npm-update &mdash; npm@2.14.4</p>
123