# npm cache
操作包缓存
# 概要
npm cache add <package-spec>
npm cache clean [<key>]
npm cache ls [<name>@<version>]
npm cache verify
注意
这个命令不支持工作空间。
# 描述
用于添加、列出或清理 npm 缓存文件夹。
add:将指定的包添加到本地缓存。该命令主要用于 npm 内部使用,但它也提供一种方式显式地将数据添加到本地安装缓存中。
clean:删除缓存文件夹中的所有数据。注意,这通常是不必要的,因为 npm 的缓存是自修复的,并且可以抵抗数据损坏问题。
verify:验证缓存文件夹的内容,对任何不需要的数据进行垃圾收集,并验证缓存索引和所有缓存数据的完整性。
# 细节
npm 将缓存数据存储在配置 cache
文件中的一个不透明目录中,名字叫 _cacache
,这个目录是一个基于 cacache
的可内容寻址缓存,它存储所有 http 请求数据以及其他与包相关的数据。这个目录主要通过 pacote
访问,从 npm@5 开始负责所有包获取的库。
所有通过缓存的数据都在插入和提取时进行了完整的完整性验证。缓存损坏将触发错误,或向 pacote
发出信号,表示数据必须重新获取,这是自动的。出于这个原因,除了回收磁盘空间之外,永远不需要清除缓存,因此 clean
现在需要 --force
运行。
目前还没有通过 npm 公开的方法来检查或直接管理这个缓存的内容。为了获得它,为了访问它,cacache
必须直接使用。
npm 不会自行删除数据:缓存会随着新软件包的安装而增长。
# 关于缓存设计的说明
npm 缓存严格来说是一个缓存:不应该依赖它作为包数据的持久且可靠的数据存储。npm 不保证以前缓存的数据以后会可用,并且会自动删除损坏的内容。缓存所做的主要保证是,如果它确实返回数据,那么该数据将完全是插入的数据。
要对现有缓存内容运行离线验证,请使用 npm cache verify
.
# 配置
# cache
- Default: Windows: %LocalAppData%\npm-cache, Posix: ~/.npm
- Type: Path
npm 的缓存目录的位置。详见 npm cache
。