Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tag: v1.0.16
Fetching contributors…

Cannot retrieve contributors at this time

86 lines (85 sloc) 1.841 kB
.\" Generated with Ronnjs/v0.1
.\" http://github.com/kapouer/ronnjs/
.
.TH "NPM\-LINK" "1" "April 2011" "" ""
.
.SH "NAME"
\fBnpm-link\fR \-\- Symlink a package folder
.
.SH "SYNOPSIS"
.
.nf
npm link (in package folder)
npm link <pkgname>
.
.fi
.
.SH "DESCRIPTION"
Package linking is a two\-step process\.
.
.P
First, \fBnpm link\fR in a package folder will create a globally\-installed
symbolic link from \fBprefix/package\-name\fR to the current folder\.
.
.P
Next, in some other location, \fBnpm link package\-name\fR will create a
symlink from the local \fBnode_modules\fR folder to the global symlink\.
.
.P
When creating tarballs for \fBnpm publish\fR, the linked packages are
"snapshotted" to their current state by resolving the symbolic links\.
.
.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
For example:
.
.IP "" 4
.
.nf
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
.
.fi
.
.IP "" 0
.
.P
Now, any changes to ~/projects/node\-redis will be reflected in
~/projects/node\-bloggy/node_modules/redis/
.
.P
You may also shortcut the two steps in one\. For example, to do the
above use\-case in a shorter way:
.
.IP "" 4
.
.nf
cd ~/projects/node\-bloggy # go into the dir of your main project
npm link \.\./node\-redis # link the dir of your dependency
.
.fi
.
.IP "" 0
.
.P
The second line is the equivalent of doing:
.
.IP "" 4
.
.nf
(cd \.\./node\-redis; npm link)
npm link redis
.
.fi
.
.IP "" 0
.
.P
That is, it first creates a global link, and then links the global
installation target into your project\'s \fBnode_modules\fR folder\.
Jump to Line
Something went wrong with that request. Please try again.