/usr/share/doc/npm/cli/npm-link.html is in npm 1.3.10~dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | <!doctype html>
<html>
<title>npm-link</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
<body>
<div id="wrapper">
<div class='mp'>
<h2 id="NAME">NAME</h2>
<p class="man-name">
<code>npm-link</code> - <span class="man-whatis">Symlink a package folder</span>
</p>
<h2 id="SYNOPSIS">SYNOPSIS</h2>
<pre><code>npm link (in package folder)
npm link <pkgname>
npm ln (with any of the previous argument usage)
</code></pre>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>Package linking is a two-step process.</p>
<p>First, <code>npm link</code> in a package folder will create a globally-installed
symbolic link from <code>prefix/package-name</code> to the current folder.</p>
<p>Next, in some other location, <code>npm link package-name</code> will create a
symlink from the local <code>node_modules</code> folder to the global symlink.</p>
<p>Note that <code>package-name</code> is taken from <code>package.json</code>,
not from directory name.</p>
<p>When creating tarballs for <code>npm publish</code>, the linked packages are
"snapshotted" to their current state by resolving the symbolic links.</p>
<p>This is
handy for installing your own stuff, so that you can work on it and test it
iteratively without having to continually rebuild.</p>
<p>For example:</p>
<pre><code>cd ~/projects/node-redis # go into the package directory
npm link # creates global link
cd ~/projects/node-bloggy # go into some other package directory.
npm link redis # link-install the package
</code></pre>
<p>Now, any changes to ~/projects/node-redis will be reflected in
~/projects/node-bloggy/node_modules/redis/</p>
<p>You may also shortcut the two steps in one. For example, to do the
above use-case in a shorter way:</p>
<pre><code>cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
</code></pre>
<p>The second line is the equivalent of doing:</p>
<pre><code>(cd ../node-redis; npm link)
npm link redis
</code></pre>
<p>That is, it first creates a global link, and then links the global
installation target into your project's <code>node_modules</code> folder.</p>
<h2 id="SEE-ALSO">SEE ALSO</h2>
<ul>
<li><span class="man-ref">npm-developers<span class="s">(7)</span></span></li>
<li><span class="man-ref">npm-faq<span class="s">(7)</span></span></li>
<li><span class="man-ref">package.json<span class="s">(5)</span></span></li>
<li><span class="man-ref">npm-install<span class="s">(1)</span></span></li>
<li><span class="man-ref">npm-folders<span class="s">(5)</span></span></li>
<li><span class="man-ref">npm-config<span class="s">(1)</span></span></li>
<li><span class="man-ref">npm-config<span class="s">(7)</span></span></li>
<li><span class="man-ref">npmrc<span class="s">(5)</span></span></li>
</ul>
</div>
</div>
<p id="footer">npm-link — npm@1.3.10</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
.filter(function (el) {
return el.parentNode === wrapper
&& el.tagName.match(/H[1-6]/)
&& el.id
})
var l = 2
, toc = document.createElement("ul")
toc.innerHTML = els.map(function (el) {
var i = el.tagName.charAt(1)
, out = ""
while (i > l) {
out += "<ul>"
l ++
}
while (i < l) {
out += "</ul>"
l --
}
out += "<li><a href='#" + el.id + "'>" +
( el.innerText || el.text || el.innerHTML)
+ "</a>"
return out
}).join("\n")
toc.id = "toc"
document.body.appendChild(toc)
})()
</script>
|