Browse files

Document new install behavior.

  • Loading branch information...
isaacs committed May 3, 2010
1 parent 5acbfbb commit de40c655e89b73e2b38fb3ddf1ecf677cbd90b46
Showing with 71 additions and 14 deletions.
  1. +71 −14 doc/
@@ -3,28 +3,85 @@ npm-install(1) -- install a package
- npm install <tarball>
+ npm install <tarball file>
+ npm install <tarball url>
+ npm install <pkg>
+ npm install <pkg>@<tag>
+ npm install <pkg>@<version>
+ npm install <pkg>@<version range>
-This installs the package, where `tarball` is a url or path to a `.tgz` file
-that contains a package with a `package.json` file in the root.
+This command installs a package, and any packages that it depends on. It
+resolves circular dependencies by talking to the npm registry.
-This'll create some stuff in `$HOME/.node_libraries`. It supports installing
-multiple versions of the same thing.
+* npm install <tarball file>:
+ Install a package that is sitting on the filesystem. Note: if you just want
+ to link a dev directory into your npm root, you can do this more easily by
+ using `npm link`.
-From here, you can do `require("foo-1.2.3")` where "foo" is the name of the
-package, and "1.2.3" is the version you installed.
+ In order to distinguish between this and remote installs, the argument
+ must start with either "file:", ".", or "/"
-If you use `npm activate foo 1.2.3` at that point, you could do simply
-`require("foo")` to get the active version of the package.
+ Example:
-Depending on the state of your `auto-activate` config variable, activate may
-be automatically performed some or all of the time.
+ npm install ./package.tgz
-Installing by name and version alone is planned for the next version.
+* npm install <tarball url>:
+ Fetch the tarball url, and then install it. In order to distinguish between
+ this and other options, the argument must start with "http://" or "https://"
+ Example:
+ npm install
+* npm install <pkg>:
+ Do a <pkg>@<tag> install, where <tag> is the "tag" config from either your
+ .npmrc file, or the --tag argument on the command line.
+ Example:
+ npm install sax
+* npm install <pkg>@<tag>:
+ Install the version of the package that is referenced by the specified tag.
+ If the tag does not exist in the registry data for that package, then this
+ will fail.
+ Example:
+ npm install sax@stable
+* npm install <pkg>@<version>:
+ Install the specified version of the package. This will fail if the version
+ has not been published to the registry.
+ Example:
+ npm install sax@0.1.1
+* npm install <pkg>@<version range>:
+ Install a version of the package matching the specified version range. This
+ will follow the same rules for resolving dependencies described in `npm help json`.
+ Note that most version ranges must be put in quotes so that your shell will
+ treat it as a single argument.
+ Example:
+ npm install sax@">=0.1.0 <0.2.0"
+You may combine multiple arguments, and even multiple types of arguments. For example:
+ npm install sax@">=0.1.0 <0.2.0" bench supervisor
+The `--tag` argument will apply to all of the specified install targets.
-* npm help config
-* npm help activate
+* npm help build
+* npm help registry
+* npm help build
+* npm help link
+* npm help folders
+* npm help tag

0 comments on commit de40c65

Please sign in to comment.