@actions/cache

中文文档
6.3.0发布于 2026/09/28MITTypeScriptES Module构建来源已验证近 30 天下载 125.6万

动作缓存 lib

中文使用文档

@actions/cache

缓存依赖和建立产出以改善工作流程执行时间所必需的功能.

见 "抓好依托,加快工作流程" 对于如何切入工作.

注意 GitHub 将删除超过7天没有访问过的缓存项 。 对可以存储的缓存数量没有限制,但寄存器中所有缓存的总大小仅限于10GB. 如果您超过此限制, GitHub 将会保存您的缓存, 但会开始驱逐缓存, 直到总大小小于 10 GB .

重要变化

缓存后端服务已经从地上重写,以提高性能和可靠性. 这个 @ actions/ cache (英语) 现在软件包与新的缓存服务(v2)API集成.

新服务将逐步推出 2025年2月1日 (中文(简体) )遗产服务也将同日落出。 此发行的更改为 完全向后兼容。 。 。 .

此软件包的上个版本都将贬值我们建议升级到版本 4.0.0 尽快提前 2025年2月1日 (中文(简体) ).

如果您不升级, 所有工作流程都会使用已贬值的工作流程 @ actions/ cache (英语) 软件包将失败 .

升级到推荐的版本,除了更新您的工作流程外,不应中断或要求修改您的工作流程 package.json 改为版本 4.0.0。 。 。 .

更多信息, 请查看更改和访问迁移指南 : 通知内容。 。 。 .

使用量

这个软件包被我们第一个政党缓存动作的v2+版本所使用. 您可以在缓存 Repo 中找到实例执行 这里。 。 。 .

保存缓存

保存包含文件的缓存 paths 使用 key 提供。 如果安装了zstd,文件将使用z标准压缩算法进行压缩,否则使用gzip. 如果缓存被自动保存, 函数返回缓存 ID, 如果缓存上传失败, 则丢出错误 .

const cache = require('@actions/cache');
const paths = [
    'node_modules',
    'packages/*/node_modules/'
]
const key = 'npm-foobar-d5ea0750'
const cacheId = await cache.saveCache(paths, key)

恢复缓存

基于 key 财务报告和审定财务报表 restoreKeys 页:1 paths 提供。 函数返回缓存键用于缓存被击中, 如果未找到缓存则返回未定义 .

const cache = require('@actions/cache');
const paths = [
    'node_modules',
    'packages/*/node_modules/'
]
const key = 'npm-foobar-d5ea0750'
const restoreKeys = [
    'npm-foobar-',
    'npm-'
]
const cacheKey = await cache.restoreCache(paths, key, restoreKeys)
缓存段恢复超时

缓存在固定大小的多段内下载( 现在) 128MB 失败快速, 以前 1GB (单位:千美元) 32-bit 运行和 2GB (单位:千美元) 64-bit 使用跑道)。 有时,一个段的下载会被卡住,导致工作流程永远被卡住并失败. 版本 v3.0.4 缓存包中引入了段下载超时。 片段下载超时将允许片段下载被中止,从而允许该任务进行缓存出错.

此超时的默认值为 10 分( 开始) v3.2.1 前60分钟的版本 v.3.0.4 财务报告和审定财务报表 v3.2.0,并且可以通过指定 环境变量 名称 SEGMENT_DOWNLOAD_TIMEOUT_MINS 分钟内有超时值.

版本与发布记录

@actions/cache 共发布 64 个版本,首次发布于 2020/05/16;过去 12 个月发布了 14 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
6.3.0latest2026/09/281 个月前
5.3.0v5-commonjs2026/09/281 个月前
5.2.02026/07/163 个月前
6.2.02026/07/143 个月前
5.1.02026/06/194 个月前
6.1.02026/06/194 个月前

关于 @actions/cache 的常见问题

@actions/cache 是什么?

动作缓存 lib

如何安装 @actions/cache?

在项目目录运行 npm install @actions/cache,或使用 pnpm add / yarn add / bun add。

@actions/cache 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@actions/cache 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@actions/cache 可以商用吗?

@actions/cache 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@actions/cache 的下载量有多少?

根据 npm 官方下载统计,@actions/cache 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,255,837 次,日均约 41,861 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@actions/cache 还在维护吗?

最新版本 6.3.0 发布于 2026/09/28(1 个月前);至今共发布 64 个版本,其中过去 12 个月发布了 14 个;首次发布于 2020/05/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。