| <!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"> |
| |
| <body> |
| <div id="wrapper"> |
| <h1><a href="../api/npm.html">npm</a></h1> <p>node 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>1.3.21</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 hash 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><p><code>npm.config.get(key)</code></p></li><li><code>npm.config.set(key, val)</code></li><li><p><code>npm.config.del(key)</code></p></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> hash, 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> |
| <p id="footer">npm — npm@1.3.21</p> |
| <script> |
| ;(function () { |
| var wrapper = document.getElementById("wrapper") |
| var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0) |
| .filter(function (el) { |
| return el.parentNode === wrapper |
| && el.tagName.match(/H[1-6]/) |
| && el.id |
| }) |
| var l = 2 |
| , toc = document.createElement("ul") |
| toc.innerHTML = els.map(function (el) { |
| var i = el.tagName.charAt(1) |
| , out = "" |
| while (i > l) { |
| out += "<ul>" |
| l ++ |
| } |
| while (i < l) { |
| out += "</ul>" |
| l -- |
| } |
| out += "<li><a href='#" + el.id + "'>" + |
| ( el.innerText || el.text || el.innerHTML) |
| + "</a>" |
| return out |
| }).join("\n") |
| toc.id = "toc" |
| document.body.appendChild(toc) |
| })() |
| </script> |