缓存的关键不是路径,是 key 怎么定。
用依赖清单文件的哈希当 key:清单没变直接命中缓存跳过安装,清单一变 key 就变,缓存自动失效,不会用到过期依赖。
只配精确 key 会有一改清单就从零装的浪费,再加一个前缀回退,命中相近版本后增量补齐。
缓存路径要填包管理器真实的缓存目录,别让多分支共写一份缓存。
# GitHub Actions
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: npm-
- run: npm ci
THE END






暂无评论内容