# 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

Last Updated: 6/17/2023, 6:57:19 PM