3 <title>npm-dedupe</title>
5 <link rel="stylesheet" type="text/css" href="../../static/style.css">
6 <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-dedupe.html">
7 <script async=true src="../../static/toc.js"></script>
12 <h1><a href="../cli/npm-dedupe.html">npm-dedupe</a></h1> <p>Reduce duplication</p>
13 <h2 id="synopsis">SYNOPSIS</h2>
14 <pre><code>npm dedupe [package names...]
15 npm ddp [package names...]
17 aliases: find-dupes, ddp
18 </code></pre><h2 id="description">DESCRIPTION</h2>
19 <p>Searches the local package tree and attempts to simplify the overall
20 structure by moving dependencies further up the tree, where they can
21 be more effectively shared by multiple dependent packages.</p>
22 <p>For example, consider this dependency graph:</p>
24 +-- b <-- depends on c@1.0.x
26 `-- d <-- depends on c@~1.0.9
28 </code></pre><p>In this case, <code><a href="../cli/npm-dedupe.html">npm-dedupe(1)</a></code> will transform the tree to:</p>
33 </code></pre><p>Because of the hierarchical nature of node's module lookup, b and d
34 will both get their dependency met by the single c package at the root
35 level of the tree.</p>
36 <p>If a suitable version exists at the target location in the tree
37 already, then it will be left untouched, but the other duplicates will
39 <p>If no suitable version can be found, then a warning is printed, and
41 <p>If any arguments are supplied, then they are filters, and only the
42 named packages will be touched.</p>
43 <p>Note that this operation transforms the dependency tree, and may
44 result in packages getting updated versions, perhaps from the npm
46 <p>This feature is experimental, and may change in future versions.</p>
47 <p>The <code>--tag</code> argument will apply to all of the affected dependencies. If a
48 tag with the given name exists, the tagged version is preferred over newer
50 <h2 id="see-also">SEE ALSO</h2>
52 <li><a href="../cli/npm-ls.html">npm-ls(1)</a></li>
53 <li><a href="../cli/npm-update.html">npm-update(1)</a></li>
54 <li><a href="../cli/npm-install.html">npm-install(1)</a></li>
59 <table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
60 <tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr>
61 <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>
62 <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>
63 <tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr>
64 <tr><td style="width:10px;height:10px;background:#fff"> </td></tr>
65 <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>
66 <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>
68 <p id="footer">npm-dedupe — npm@2.15.11</p>