| <!doctype html> |
| <html> |
| <title>npm</title> |
| <meta http-equiv="content-type" value="text/html;utf-8"> |
| <link rel="stylesheet" type="text/css" href="../../static/style.css"> |
| <link rel="canonical" href="https://www.npmjs.org/doc/api/npm.html"> |
| <script async=true src="../../static/toc.js"></script> |
| |
| <body> |
| <div id="wrapper"> |
| |
| <h1><a href="../api/npm.html">npm</a></h1> <p>javascript package manager</p> |
| <h2 id="synopsis">SYNOPSIS</h2> |
| <pre><code>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) |
| }) |
| </code></pre><h2 id="version">VERSION</h2> |
| <p>2.15.8</p> |
| <h2 id="description">DESCRIPTION</h2> |
| <p>This is the API documentation for npm. |
| To find documentation of the command line |
| client, see <code><a href="../cli/npm.html">npm(1)</a></code>.</p> |
| <p>Prior to using npm's commands, <code>npm.load()</code> must be called. If you provide |
| <code>configObject</code> as an object map of top-level configs, they override the values |
| stored in the various config locations. 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 |
| <code><a href="../cli/npm-config.html">npm-config(1)</a></code>, <code><a href="../misc/npm-config.html">npm-config(7)</a></code>, and <code><a href="../files/npmrc.html">npmrc(5)</a></code> for more information.</p> |
| <p>After that, each of the functions are accessible in the |
| commands object: <code>npm.commands.<cmd></code>. See <code><a href="../misc/npm-index.html">npm-index(7)</a></code> for a list of |
| all possible commands.</p> |
| <p>All commands on the command object take an <strong>array</strong> of positional argument |
| <strong>strings</strong>. The last argument to any function is a callback. Some |
| commands take other optional arguments.</p> |
| <p>Configs cannot currently be set on a per function basis, as each call to |
| npm.config.set will change the value for <em>all</em> npm commands in that process.</p> |
| <p>To find API documentation for a specific command, run the <code>npm apihelp</code> |
| command.</p> |
| <h2 id="methods-and-properties">METHODS AND PROPERTIES</h2> |
| <ul> |
| <li><p><code>npm.load(configs, cb)</code></p> |
| <p> Load the configuration params, and call the <code>cb</code> function once the |
| globalconfig and userconfig files have been loaded as well, or on |
| nextTick if they've already been loaded.</p> |
| </li> |
| <li><p><code>npm.config</code></p> |
| <p> An object for accessing npm configuration parameters.</p> |
| <ul> |
| <li><code>npm.config.get(key)</code></li> |
| <li><code>npm.config.set(key, val)</code></li> |
| <li><code>npm.config.del(key)</code></li> |
| </ul> |
| </li> |
| <li><p><code>npm.dir</code> or <code>npm.root</code></p> |
| <p> The <code>node_modules</code> directory where npm will operate.</p> |
| </li> |
| <li><p><code>npm.prefix</code></p> |
| <p> The prefix where npm is operating. (Most often the current working |
| directory.)</p> |
| </li> |
| <li><p><code>npm.cache</code></p> |
| <p> The place where npm keeps JSON and tarballs it fetches from the |
| registry (or uploads to the registry).</p> |
| </li> |
| <li><p><code>npm.tmp</code></p> |
| <p> npm's temporary working directory.</p> |
| </li> |
| <li><p><code>npm.deref</code></p> |
| <p> Get the "real" name for a command that has either an alias or |
| abbreviation.</p> |
| </li> |
| </ul> |
| <h2 id="magic">MAGIC</h2> |
| <p>For each of the methods in the <code>npm.commands</code> object, a method is added to the |
| npm object, which takes a set of positional string arguments rather than an |
| array and a callback.</p> |
| <p>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.</p> |
| <p>For example, this would work in a node repl:</p> |
| <pre><code>> npm = require("npm") |
| > npm.load() // wait a sec... |
| > npm.install("dnode", "express") |
| </code></pre><p>Note that that <em>won't</em> work in a node program, since the <code>install</code> |
| method will get called before the configuration load is completed.</p> |
| <h2 id="abbrevs">ABBREVS</h2> |
| <p>In order to support <code>npm ins foo</code> instead of <code>npm install foo</code>, the |
| <code>npm.commands</code> object has a set of abbreviations as well as the full |
| method names. Use the <code>npm.deref</code> method to find the real name.</p> |
| <p>For example:</p> |
| <pre><code>var cmd = npm.deref("unp") // cmd === "unpublish" |
| </code></pre> |
| </div> |
| |
| <table border=0 cellspacing=0 cellpadding=0 id=npmlogo> |
| <tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr> |
| <tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr> |
| <tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr> |
| <tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr> |
| <tr><td style="width:10px;height:10px;background:#fff"> </td></tr> |
| <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr> |
| <tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr> |
| </table> |
| <p id="footer">npm — npm@2.15.8</p> |
| |