1<!DOCTYPE html><html><head>
2<meta charset="utf-8">
3<title>npm-cache</title>
4<style>
5body {
6    background-color: #ffffff;
7    color: #24292e;
8
9    margin: 0;
10
11    line-height: 1.5;
12
13    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
14}
15#rainbar {
16    height: 10px;
17    background-image: linear-gradient(139deg, #fb8817, #ff4b01, #c12127, #e02aff);
18}
19
20a {
21    text-decoration: none;
22    color: #0366d6;
23}
24a:hover {
25    text-decoration: underline;
26}
27
28pre {
29    margin: 1em 0px;
30    padding: 1em;
31    border: solid 1px #e1e4e8;
32    border-radius: 6px;
33
34    display: block;
35    overflow: auto;
36
37    white-space: pre;
38
39    background-color: #f6f8fa;
40    color: #393a34;
41}
42code {
43    font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;
44    font-size: 85%;
45    padding: 0.2em 0.4em;
46    background-color: #f6f8fa;
47    color: #393a34;
48}
49pre > code {
50    padding: 0;
51    background-color: inherit;
52    color: inherit;
53}
54h1, h2, h3 {
55    font-weight: 600;
56}
57
58#logobar {
59    background-color: #333333;
60    margin: 0 auto;
61    padding: 1em 4em;
62}
63#logobar .logo {
64    float: left;
65}
66#logobar .title {
67    font-weight: 600;
68    color: #dddddd;
69    float: left;
70    margin: 5px 0 0 1em;
71}
72#logobar:after {
73    content: "";
74    display: block;
75    clear: both;
76}
77
78#content {
79    margin: 0 auto;
80    padding: 0 4em;
81}
82
83#table_of_contents > h2 {
84    font-size: 1.17em;
85}
86#table_of_contents ul:first-child {
87    border: solid 1px #e1e4e8;
88    border-radius: 6px;
89    padding: 1em;
90    background-color: #f6f8fa;
91    color: #393a34;
92}
93#table_of_contents ul {
94    list-style-type: none;
95    padding-left: 1.5em;
96}
97#table_of_contents li {
98    font-size: 0.9em;
99}
100#table_of_contents li a {
101    color: #000000;
102}
103
104header.title {
105    border-bottom: solid 1px #e1e4e8;
106}
107header.title > h1 {
108    margin-bottom: 0.25em;
109}
110header.title > .description {
111    display: block;
112    margin-bottom: 0.5em;
113    line-height: 1;
114}
115
116footer#edit {
117    border-top: solid 1px #e1e4e8;
118    margin: 3em 0 4em 0;
119    padding-top: 2em;
120}
121</style>
122</head>
123<body>
124<div id="banner">
125<div id="rainbar"></div>
126<div id="logobar">
127<svg class="logo" role="img" height="32" width="32" viewBox="0 0 700 700">
128<polygon fill="#cb0000" points="0,700 700,700 700,0 0,0"></polygon>
129<polygon fill="#ffffff" points="150,550 350,550 350,250 450,250 450,550 550,550 550,150 150,150"></polygon>
130</svg>
131<div class="title">
132npm command-line interface
133</div>
134</div>
135</div>
136
137<section id="content">
138<header class="title">
139<h1 id="npm-cache">npm-cache</h1>
140<span class="description">Manipulates packages cache</span>
141</header>
142
143<section id="table_of_contents">
144<h2 id="table-of-contents">Table of contents</h2>
145<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#details">Details</a></li><li><a href="#a-note-about-the-caches-design">A note about the cache's design</a></li><li><a href="#configuration">Configuration</a></li><ul><li><a href="#cache"><code>cache</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div>
146</section>
147
148<div id="_content"><h3 id="synopsis">Synopsis</h3>
149<pre><code class="language-bash">npm cache add &lt;package-spec&gt;
150npm cache clean [&lt;key&gt;]
151npm cache ls [&lt;name&gt;@&lt;version&gt;]
152npm cache verify
153</code></pre>
154<p>Note: This command is unaware of workspaces.</p>
155<h3 id="description">Description</h3>
156<p>Used to add, list, or clean the npm cache folder.</p>
157<ul>
158<li>
159<p>add:
160Add the specified packages to the local cache.  This command is primarily
161intended to be used internally by npm, but it can provide a way to
162add data to the local installation cache explicitly.</p>
163</li>
164<li>
165<p>clean:
166Delete all data out of the cache folder.  Note that this is typically
167unnecessary, as npm's cache is self-healing and resistant to data
168corruption issues.</p>
169</li>
170<li>
171<p>verify:
172Verify the contents of the cache folder, garbage collecting any unneeded
173data, and verifying the integrity of the cache index and all cached data.</p>
174</li>
175</ul>
176<h3 id="details">Details</h3>
177<p>npm stores cache data in an opaque directory within the configured <code>cache</code>,
178named <code>_cacache</code>. This directory is a
179<a href="http://npm.im/cacache"><code>cacache</code></a>-based content-addressable cache that
180stores all http request data as well as other package-related data. This
181directory is primarily accessed through <code>pacote</code>, the library responsible
182for all package fetching as of npm@5.</p>
183<p>All data that passes through the cache is fully verified for integrity on
184both insertion and extraction. Cache corruption will either trigger an
185error, or signal to <code>pacote</code> that the data must be refetched, which it will
186do automatically. For this reason, it should never be necessary to clear
187the cache for any reason other than reclaiming disk space, thus why <code>clean</code>
188now requires <code>--force</code> to run.</p>
189<p>There is currently no method exposed through npm to inspect or directly
190manage the contents of this cache. In order to access it, <code>cacache</code> must be
191used directly.</p>
192<p>npm will not remove data by itself: the cache will grow as new packages are
193installed.</p>
194<h3 id="a-note-about-the-caches-design">A note about the cache's design</h3>
195<p>The npm cache is strictly a cache: it should not be relied upon as a
196persistent and reliable data store for package data. npm makes no guarantee
197that a previously-cached piece of data will be available later, and will
198automatically delete corrupted contents. The primary guarantee that the
199cache makes is that, if it does return data, that data will be exactly the
200data that was inserted.</p>
201<p>To run an offline verification of existing cache contents, use <code>npm cache verify</code>.</p>
202<h3 id="configuration">Configuration</h3>
203<h4 id="cache"><code>cache</code></h4>
204<ul>
205<li>Default: Windows: <code>%LocalAppData%\npm-cache</code>, Posix: <code>~/.npm</code></li>
206<li>Type: Path</li>
207</ul>
208<p>The location of npm's cache directory.</p>
209<h3 id="see-also">See Also</h3>
210<ul>
211<li><a href="../using-npm/package-spec.html">package spec</a></li>
212<li><a href="../configuring-npm/folders.html">npm folders</a></li>
213<li><a href="../commands/npm-config.html">npm config</a></li>
214<li><a href="../configuring-npm/npmrc.html">npmrc</a></li>
215<li><a href="../commands/npm-install.html">npm install</a></li>
216<li><a href="../commands/npm-publish.html">npm publish</a></li>
217<li><a href="../commands/npm-pack.html">npm pack</a></li>
218<li><a href="https://npm.im/cacache">https://npm.im/cacache</a></li>
219<li><a href="https://npm.im/pacote">https://npm.im/pacote</a></li>
220<li><a href="https://npm.im/@npmcli/arborist">https://npm.im/@npmcli/arborist</a></li>
221<li><a href="https://npm.im/make-fetch-happen">https://npm.im/make-fetch-happen</a></li>
222</ul></div>
223
224<footer id="edit">
225<a href="https://github.com/npm/cli/edit/latest/docs/content/commands/npm-cache.md">
226<svg role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentcolor" style="vertical-align: text-bottom; margin-right: 0.3em;">
227<path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path>
228</svg>
229Edit this page on GitHub
230</a>
231</footer>
232</section>
233
234
235
236</body></html>