Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 299 lines (228 sloc) 8.203 kB
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
1 npm(1) -- node package manager
2 ==============================
3
4 ## SYNOPSIS
5
6 npm <command> [args]
7
64afd3d @isaacs Clean up the docs further. Make them more consistent.
isaacs authored
8 ## DESCRIPTION
9
a3b0aa8 @isaacs Merge the "help" and "npm" man pages.
isaacs authored
10 npm is a package manager for the Node javascript library.
64afd3d @isaacs Clean up the docs further. Make them more consistent.
isaacs authored
11
a3b0aa8 @isaacs Merge the "help" and "npm" man pages.
isaacs authored
12 Run `npm help` to get a list of commands.
2a35c6d @isaacs trim the docs a bit, and organize the changelist
isaacs authored
13
979dbd4 @isaacs Make this better
isaacs authored
14 ## STATUS: Useful Beta
57729b7 @isaacs Documentation updates
isaacs authored
15
979dbd4 @isaacs Make this better
isaacs authored
16 The core functionality is there. It works.
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
17
bf51c72 @isaacs Update documentation for push to beta
isaacs authored
18 Please use this software. It will cut you occasionally. Let me know when
19 you find a rough edge, and I'll sand it down for you.
20
21 I appreciate your sense of adventure.
22
a3b0aa8 @isaacs Merge the "help" and "npm" man pages.
isaacs authored
23 ## INTRO
24
25 You probably got npm because you want to install stuff.
26
27 Use `npm install blerg` to install the latest version of "blerg". Check out
28 `npm help install` for more info. It can do a lot of stuff.
29
30 Use the `npm ls` command to show everything that's available. Looking for
31 express-related modules? `npm ls express`. Looking for the latest express?
32 `npm ls express latest`. (The arguments are just simple greps.) And of course,
33 `npm help ls` will tell you more.
34
35 Use `npm ls installed` to show everything you've installed.
36
37 ## CONFIGS
38
39 Use the `npm config` command to manage how npm does stuff and where it puts things.
40 It stores your configs in the `~/.npmrc` file. Check `npm help config` for more
41 info on that, if you care.
42
43 You can override any config for just a single command by doing `--configname value`
44 on the command line.
45
46 ## DEVELOPERS
47
48 If you're using npm to develop and publish your code, check out the following topics:
49
50 * json:
51 Make a package.json file. The "json" help doc will tell you what to put in it.
52 * link:
53 For linking your current working code into Node's path, so that you don't have to
54 reinstall every time you make a change. Use "npm link" to do this.
55 * install:
56 It's a good idea to install things if you don't need the symbolic link. Especially,
57 installing other peoples code from the registry is done via "npm install".
58 * adduser:
59 Use the `npm adduser` command to add a user account for the npm registry, or to
60 authorize yourself on a new machine. If you forget your password, send an email
61 to <npm-@googlegroups.com> and we'll delete your account so you can recreate it.
62 * publish:
63 Use the `npm publish` command to upload your code to the registry, so that other
64 people can install it easily.
65
66 ## CONTRIBUTIONS
67
68 Patches welcome!
69
70 * code:
71 Read through `npm help coding-style` if you plan to submit code. You don't have to
72 agree with it, but you do have to follow it.
73 * docs:
74 If you find an error in the documentation, edit the appropriate markdown file in the
75 "doc" folder. (Don't worry about generating the man page.)
76
77 Contributors are listed in npm's `package.json` file.
78
979dbd4 @isaacs Make this better
isaacs authored
79 ## PRINCIPLES
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
80
81 Put the files where they need to be so that node can find them using the
82 methods it already uses.
83
bf51c72 @isaacs Update documentation for push to beta
isaacs authored
84 Be lazy, not clever.
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
85
86 The file system is the database.
87
bf51c72 @isaacs Update documentation for push to beta
isaacs authored
88 Sync with habits that are already in use.
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
89
90 Packages should be maintained by their authors, not by the package manager
bf51c72 @isaacs Update documentation for push to beta
isaacs authored
91 author.
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
92
979dbd4 @isaacs Make this better
isaacs authored
93 Steer clear of dependency hell.
bf51c72 @isaacs Update documentation for push to beta
isaacs authored
94
979dbd4 @isaacs Make this better
isaacs authored
95 ## BUGS
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
96
979dbd4 @isaacs Make this better
isaacs authored
97 Plenty. Luckily, npm is actively maintained as of this writing.
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
98
979dbd4 @isaacs Make this better
isaacs authored
99 When you find issues, please report them:
2a35c6d @isaacs trim the docs a bit, and organize the changelist
isaacs authored
100
979dbd4 @isaacs Make this better
isaacs authored
101 * web:
102 <http://github.com/isaacs/npm/issues>
103 * email:
6653947 @isaacs typo
isaacs authored
104 <npm-@googlegroups.com>
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
105
979dbd4 @isaacs Make this better
isaacs authored
106 Be sure to include *all* of the output from the npm command that didn't work
107 as expected.
6e06d90 @isaacs Add to the todo list
isaacs authored
108
a3b0aa8 @isaacs Merge the "help" and "npm" man pages.
isaacs authored
109 You can also look for isaacs in #node.js on irc://irc.freenode.net.
110
979dbd4 @isaacs Make this better
isaacs authored
111 ## HISTORY
492924c @isaacs Move more of the documentation to ronn's domain
isaacs authored
112
2a35c6d @isaacs trim the docs a bit, and organize the changelist
isaacs authored
113 * 0.0.1:
114 Lots of sketches and false starts. Abandoned a few times.
115
116 * 0.0.2:
117 Install worked mostly. Still promise-based.
118
119 * 0.0.3:
120 Converted to callbacks.
121 Mikeal Rogers wrote a registry for it.
122
123 * 0.0.4:
124 version dependencies
125 link packages
126 activation
127 lifecycle scripts
128 bin linking
129 uninstallation
130
131 * 0.0.5:
132 fix a few bugs in uninstall wrt dependent packages
133 fix relative require()for nodejs modules installed with the "bin" field.
134 (issue #2)
135 update to work with node 0.1.33 (aka net2)
136 added publish and tag commands
137
138 * 0.0.6:
139 set up a public registry
140 send content-length with registry PUTs
141 adduser command (Mikeal Rogers)
142 ini file stuff (Mikeal Rogers)
143 env-specific package.json
144 added more info to npm's the package.json (bugs, contributors, etc.)
145
146 * 0.0.7:
147 fixed a few bugs in semver
148 refactor documentation
149 add "help" command
150 add install from registry
151 everything else core
152 push to beta
153
154 * 0.1.0 - 0.1.2:
155 push to beta, and announce
156 clean up some bugs around lifecycle scripts
157 reduce reliance on makefile
158 documentation updates
159 Fixed DOA bugs
160 Removed dependence on ronn
161
56e4f8f @isaacs documentation updates and cleanup
isaacs authored
162 * 0.1.3:
163 Changed a few details with configs (fix #5)
164 Update adduser and publish to put author info in the data
165 Use buffer api for file writes, hopefully fix #4
166
7918961 @isaacs version notes
isaacs authored
167 * 0.1.4 - 0.1.5:
168 Fixes for a few more bugs and fix some documentation.
169
befef14 @isaacs Bump version
isaacs authored
170 * 0.1.6 - 0.1.7:
7eac386 @isaacs Update version notes and make doc
isaacs authored
171 Add cache functionality
172 Use couchdb attachments to host tarballs
173 Handle odd require.paths more appropriately
174 Don't break on install if the man path is missing
4644fb1 @isaacs bump version to 0.1.6
isaacs authored
175 Support publishing or installing a folder or local tarball
176
33727a1 @isaacs Add docs for test, stop, start, and restart commands. Bump version.
isaacs authored
177 * 0.1.8:
7eac386 @isaacs Update version notes and make doc
isaacs authored
178 Bugfixes
33727a1 @isaacs Add docs for test, stop, start, and restart commands. Bump version.
isaacs authored
179 Add start, stop, restart, and test commands
180
22598b1 @isaacs start versions notes for 0.1.9
isaacs authored
181 * 0.1.9:
7eac386 @isaacs Update version notes and make doc
isaacs authored
182 npm list enhancements
fc9b691 @isaacs Docs for 0.1.9
isaacs authored
183 fix the install bug
33727a1 @isaacs Add docs for test, stop, start, and restart commands. Bump version.
isaacs authored
184
d6efab4 @isaacs Version log for 0.1.10, and added new doc items to help.
isaacs authored
185 * 0.1.10:
7eac386 @isaacs Update version notes and make doc
isaacs authored
186 More errors found by Ryan Dahl and Kris Zyp
187 Better uninstall and list behavior
188 Docs for new developers.
d6efab4 @isaacs Version log for 0.1.10, and added new doc items to help.
isaacs authored
189 Better tracking of ownership on the registry.
190
fee6f04 @isaacs start adding notes for version 0.1.14
isaacs authored
191 * 0.1.11:
cc0521e @isaacs Notes for 0.2.2, and whitespace fixes
isaacs authored
192 Martyn Smith found a whole lot of bugs.
193 Make publish not die when the tarball is big.
194 "make uninstall" support
14aa926 @isaacs Uninstall doc
isaacs authored
195
fee6f04 @isaacs start adding notes for version 0.1.14
isaacs authored
196 * 0.1.12 - 0.1.13:
cc0521e @isaacs Notes for 0.2.2, and whitespace fixes
isaacs authored
197 Fix the downloading bug that was breaking the tarballs
198 Update some docs
d456caf @isaacs bump version
isaacs authored
199
6032744 @isaacs Update version log
isaacs authored
200 * 0.1.14 - 0.1.16:
cc0521e @isaacs Notes for 0.2.2, and whitespace fixes
isaacs authored
201 Fix to stay in sync with node changes
202 Put a special tag on link installs
203 Modify semver comparison slightly
204 add unpublish command
205 Use the "drain" event properly for uploads
206 Handle thrown errors
207 Handle .npmignore
fee6f04 @isaacs start adding notes for version 0.1.14
isaacs authored
208
89a6de5 @isaacs Bump version
isaacs authored
209 * 0.1.17:
9a5519e @isaacs bump version to 0.1.18
isaacs authored
210 Stabilization.
211
212 * 0.1.18:
213 Change a few default configurations
214 Add test harness
215 Default publish, install, and link to "." if no arguments given
216
0e98ef9 @isaacs version log for 0.1.20
isaacs authored
217 * 0.1.19 - 0.1.20:
218 Create a bunch of bugs
f34da8f @isaacs speed note
isaacs authored
219 Fix a bunch of bugs
979dbd4 @isaacs Make this better
isaacs authored
220 Some minor speed improvements
2b933ce @isaacs Version logs for 0.1.21
isaacs authored
221
453fda5 @isaacs Bump version to 0.1.22 for patch bugfix release
isaacs authored
222 * 0.1.21 - 0.1.22:
e256fe6 @isaacs Make config doc lie less. Version log info for 0.1.21
isaacs authored
223 Relative paths
224 Support comments in package.json
225 Add owner name to ls output
226 Add "owner" command to manage package owners
227 Support hook scripts in `{root}/.npm/.hooks/`
228 Initial support for config file relative to node executable
229 Support for http proxies
230 Documentation updates
9bef629 @isaacs bump version, start documenting 0.1.23. Still a bit more to do on it…
isaacs authored
231
232 * 0.1.23:
233 update command - This is huge.
234 Rollback for failed installations
aca1d18 @isaacs update version log
isaacs authored
235 Install dependencies for link packages
236 Silently read passwords for adduser
237 Cascading configs: cli, env, user, global
e6b1877 @isaacs docs for 0.1.24
isaacs authored
238 First pass at `npm view` command
239
cb59724 @isaacs Start the 0.1.26 version log
isaacs authored
240 * 0.1.24, 0.1.25:
e6b1877 @isaacs docs for 0.1.24
isaacs authored
241 Fix a bunch of things
242 Cleanup, etc.
243 help via --help, -h, or -?
244
cb59724 @isaacs Start the 0.1.26 version log
isaacs authored
245 * 0.1.26:
246 "modules" hash in package.json (Alex K. Wolfe)
247 Better "restart" command (Alex K Wolfe)
248 Work on Cygwin
6bbab08 @isaacs more notes for 0.1.26
isaacs authored
249 Remove link packages properly
250 Make several commands more parallel
c1dc56c @isaacs notes for 0.1.27
isaacs authored
251
252 * 0.1.27:
253 Man pages handled with the "man" entry, or a "man" directory
254 Install man pages in the "manroot" config dir
255 Control log output with the "loglevel" config
256 Support a "bin" directory of executables that get auto-linked
257 Un-deprecate the "lib" directory.
21a09e1 @isaacs more 0.1.27 notes
isaacs authored
258 Bug killing
259 Split up the tar usage so it works on Solaris
6f17a04 @isaacs More notes for 0.1.27 (a bit late, oh well)
isaacs authored
260 bundle command
261 rebuild command
c1a0f1e @isaacs Notes for 0.2.0
isaacs authored
262
263 * 0.2.0:
264 Lots more bug killing
265 Various fixes found during the Node Knockout extravaganza
266 Change all "name-version" things to be "name@version"
267 First allegedly "stable" release.
719b0ac @isaacs Docs for 0.2.1
isaacs authored
268
269 * 0.2.1:
270 Minor updates and bugfixes
cc0521e @isaacs Notes for 0.2.2, and whitespace fixes
isaacs authored
271
272 * 0.2.2:
273 Update "help" to work on Solaris
274 Remove updated packages that don't have dependencies.
275 Allow implied suffixes on .js bins
276 Fix an "adduser" bug
26e48e3 @isaacs history entry for 0.2.3
isaacs authored
277
278 * 0.2.3:
279 Lots of documentation tweaks and cleanup
280 Support || in version ranges
3fd4104 @isaacs Notes for 0.2.4
isaacs authored
281
282 * 0.2.4:
283 Contribution party!
284 Better list whitespace
285 Lots of config happiness
286 Ignore all major SCM folders by default
287 Handle proxies and hostnames with ports
288 Better Bundling
289 Add 'outdated' command
da43407 @isaacs notes for 0.2.5, and make doc
isaacs authored
290 Better handling of "engines" field
291
292 * 0.2.5:
293 Make npm OK to use programmatically (Charlie Robbins)
6646c4e @isaacs add some notes for 0.2.6
isaacs authored
294
295 * 0.2.6:
296 More programmatic updates
297 recursive package removal
298 tab completion
Something went wrong with that request. Please try again.