<!doctype html>
<html>
  <title>npm-help</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="../cli/npm-help.html">npm-help</a></h1> <p>Get help on npm</p>

<h2 id="SYNOPSIS">SYNOPSIS</h2>

<pre><code>npm help &lt;topic&gt;
npm help some search terms</code></pre>

<h2 id="DESCRIPTION">DESCRIPTION</h2>

<p>If supplied a topic, then show the appropriate documentation page.</p>

<p>If the topic does not exist, or if multiple terms are provided, then run
the <code>help-search</code> command to find a match.  Note that, if <code>help-search</code>
finds a single subject, then it will run <code>help</code> on that topic, so unique
matches are equivalent to specifying a topic name.</p>

<h2 id="CONFIGURATION">CONFIGURATION</h2>

<h3 id="viewer">viewer</h3>

<ul><li>Default: &quot;man&quot; on Posix, &quot;browser&quot; on Windows</li><li>Type: path</li></ul>

<p>The program to use to view help content.</p>

<p>Set to <code>&quot;browser&quot;</code> to view html help content in the default web browser.</p>

<h2 id="SEE-ALSO">SEE ALSO</h2>

<ul><li><a href="../cli/npm.html">npm(1)</a></li><li><a href="../../doc/README.html">README</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-help-search.html">npm-help-search(1)</a></li><li><a href="../misc/npm-index.html">npm-index(7)</a></li></ul>
</div>
<p id="footer">npm-help &mdash; 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>
