乐闻世界logo
搜索文章和话题

How to use pnpm instead of npm in Github Actions

4 个月前提问
3 个月前修改
浏览次数75

1个答案

1

在GitHub Actions中使用pnpm而不是npm主要包括以下几个步骤:

  1. 设置 Node.js 环境: 在GitHub Action工作流中,首先需要使用actions/setup-node来设置 Node.js 的环境。

  2. 安装 pnpm: Node.js 环境设置完成后,下一步是安装pnpm

  3. 使用 pnpm 运行命令: 一旦pnpm安装完成,就可以使用它来安装依赖、运行脚本等。

下面是一个基本的示例,展示了如何在GitHub Action中使用pnpm

yaml
name: Node.js CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [14.x, 16.x] steps: - uses: actions/checkout@v2 # 检出代码 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' # 这可以帮助缓存 pnpm 的存储器 - name: Install pnpm run: npm install -g pnpm # 安装 pnpm - name: Install dependencies run: pnpm install # 安装项目依赖 - name: Run tests run: pnpm test # 运行测试脚本

这个工作流程文件定义了一个CI工作流程,在每次推送到main分支或者对main分支的拉取请求时触发。工作流包括:

  • 通过actions/checkout@v2检出代码。
  • 使用actions/setup-node@v2来设置 Node.js 环境,并指定使用pnpm作为缓存方法。
  • 安装pnpm
  • 使用pnpm安装项目依赖。
  • 最后,使用pnpm运行测试脚本。

这个流程会在两个不同的Node.js版本环境下运行,即 14.x 和 16.x,确保了跨版本的兼容性。

请注意,从setup-node@v2起,GitHub Actions 提供了对pnpm缓存的原生支持,所以我们可以通过设置cache选项来利用这一特性,以加快后续工作流的运行速度。在此之前,你可能需要单独缓存pnpm的存储文件夹。

2024年6月29日 12:07 回复

你的答案