npm 缓存会加快"npm 安装"的速度吗?



请考虑以下构建:

  • 没有 npm 缓存的第三次构建
  • 使用 npm 缓存的第三次构建

这两个存储库几乎相同,唯一的区别是后一个存储库通过setup-nodeGitHub Action缓存npm,而前一个则不然。换句话说,存储库之间的唯一区别在于.github/workflows/main文件:

name: Build Pipeline
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '11'
# Following line is present only on the latter repository
cache: 'npm'
- run: npm install
- run: npm run build

尽管在"setup-node-with-cache"处的构建成功地使用了npm缓存(从Run actions/setup-node@v2步骤的输出中可以看出),Run npm install步的运行时间几乎与"setup-node-without-cache"处构建的相应步骤相同。

在"setup-node-with-cache"构建Run npm install步骤的运行时间不应该比在"setup-node-without-cache"构建的相应步骤短得多,因为它应该使用缓存的npm包?我在这里错过了什么吗?

至少在GitHub Actions 上,它似乎真的不是。我发现的解决方法是缓存实际的node_modules文件夹,即使"不推荐"。缓存实际的node_modules文件夹确实可以加快npm install速度。

最新更新