3.1 KiB
npm(3) -- node package manager
SYNOPSIS
var npm = require("npm")
npm.load(configObject, function (er, npm) {
// use the npm object, now that it's loaded.
npm.config.set(key, val)
val = npm.config.get(key)
console.log("prefix = %s", npm.prefix)
npm.commands.install(["package"], cb)
})
VERSION
@VERSION@
DESCRIPTION
This is the API documentation for npm.
To find documentation of the command line
client, see npm(1)
.
Prior to using npm's commands,
npm.load()
must be called with an object hash of
top-level configs. In the npm command line client,
this set of configs is parsed from the command line options. Additional
configuration params are loaded from two configuration files. See
npm-config(1)
for more information.
After that, each of the functions are accessible in the
commands object: npm.commands.<cmd>
. See npm-index(1)
for a list of
all possible commands.
All commands on the command object take an array of positional argument strings. The last argument to any function is a callback. Some commands take other optional arguments.
Configs cannot currently be set on a per function basis, as each call to npm.config.set will change the value for all npm commands in that process.
To find API documentation for a specific command, run the npm apihelp
command.
METHODS AND PROPERTIES
-
npm.load(configs, cb)
Load the configuration params, and call the
cb
function once the globalconfig and userconfig files have been loaded as well, or on nextTick if they've already been loaded. -
npm.config
An object for accessing npm configuration parameters.
npm.config.get(key)
npm.config.set(key, val)
npm.config.del(key)
-
npm.dir
ornpm.root
The
node_modules
directory where npm will operate. -
npm.prefix
The prefix where npm is operating. (Most often the current working directory.)
-
npm.cache
The place where npm keeps JSON and tarballs it fetches from the registry (or uploads to the registry).
-
npm.tmp
npm's temporary working directory.
-
npm.deref
Get the "real" name for a command that has either an alias or abbreviation.
MAGIC
For each of the methods in the npm.commands
hash, a method is added to
the npm object, which takes a set of positional string arguments rather
than an array and a callback.
If the last argument is a callback, then it will use the supplied callback. However, if no callback is provided, then it will print out the error or results.
For example, this would work in a node repl:
> npm = require("npm")
> npm.load() // wait a sec...
> npm.install("dnode", "express")
Note that that won't work in a node program, since the install
method will get called before the configuration load is completed.
ABBREVS
In order to support npm ins foo
instead of npm install foo
, the
npm.commands
object has a set of abbreviations as well as the full
method names. Use the npm.deref
method to find the real name.
For example:
var cmd = npm.deref("unp") // cmd === "unpublish"