Merge remote-tracking branch 'upstream/v0.10'
[platform/upstream/nodejs.git] / deps / npm / html / doc / cli / npm-link.html
1 <!doctype html>
2 <html>
3   <title>npm-link</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-link.html">
7   <script async=true src="../../static/toc.js"></script>
8
9   <body>
10     <div id="wrapper">
11
12 <h1><a href="../cli/npm-link.html">npm-link</a></h1> <p>Symlink a package folder</p>
13
14 <h2 id="SYNOPSIS">SYNOPSIS</h2>
15
16 <pre><code>npm link (in package folder)
17 npm link &lt;pkgname&gt;
18 npm ln (with any of the previous argument usage)</code></pre>
19
20 <h2 id="DESCRIPTION">DESCRIPTION</h2>
21
22 <p>Package linking is a two-step process.</p>
23
24 <p>First, <code>npm link</code> in a package folder will create a globally-installed
25 symbolic link from <code>prefix/package-name</code> to the current folder.</p>
26
27 <p>Next, in some other location, <code>npm link package-name</code> will create a
28 symlink from the local <code>node_modules</code> folder to the global symlink.</p>
29
30 <p>Note that <code>package-name</code> is taken from <code>package.json</code>,
31 not from directory name.</p>
32
33 <p>When creating tarballs for <code>npm publish</code>, the linked packages are
34 &quot;snapshotted&quot; to their current state by resolving the symbolic links.</p>
35
36 <p>This is
37 handy for installing your own stuff, so that you can work on it and test it
38 iteratively without having to continually rebuild.</p>
39
40 <p>For example:</p>
41
42 <pre><code>cd ~/projects/node-redis    # go into the package directory
43 npm link                    # creates global link
44 cd ~/projects/node-bloggy   # go into some other package directory.
45 npm link redis              # link-install the package</code></pre>
46
47 <p>Now, any changes to ~/projects/node-redis will be reflected in
48 ~/projects/node-bloggy/node_modules/redis/</p>
49
50 <p>You may also shortcut the two steps in one.  For example, to do the
51 above use-case in a shorter way:</p>
52
53 <pre><code>cd ~/projects/node-bloggy  # go into the dir of your main project
54 npm link ../node-redis     # link the dir of your dependency</code></pre>
55
56 <p>The second line is the equivalent of doing:</p>
57
58 <pre><code>(cd ../node-redis; npm link)
59 npm link redis</code></pre>
60
61 <p>That is, it first creates a global link, and then links the global
62 installation target into your project&#39;s <code>node_modules</code> folder.</p>
63
64 <h2 id="SEE-ALSO">SEE ALSO</h2>
65
66 <ul><li><a href="../misc/npm-developers.html">npm-developers(7)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
67 </div>
68
69 <table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
70 <tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
71 <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>
72 <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>
73 <tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
74 <tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
75 <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>
76 <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>
77 </table>
78 <p id="footer">npm-link &mdash; npm@1.4.8</p>
79