You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移至pnpm后GitHub Actions报pnpm命令未找到,求正确YAML配置

解决GitHub Actions中pnpm命令未找到的问题

你遇到的pnpm: command not found错误,是因为GitHub Actions的Ubuntu runner默认没有预装pnpm,而当前配置仅安装了Node.js,未额外安装pnpm工具。

以下是修正后的完整工作流配置,同时移除了不必要的ACTIONS_ALLOW_UNSECURE_COMMANDS配置(该配置为旧版GitHub Actions兼容项,当前版本已无需设置):

name: Lint & Unit Test

on: [pull_request]

jobs:
  run-linters:
    name: Run linter and Unit tests
    runs-on: ubuntu-latest

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v3

      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 16.18.1
          # 若项目根目录package.json中配置了packageManager字段(如"packageManager": "pnpm@8.6.12"),可启用下面这行自动安装对应版本pnpm
          # cache: 'pnpm'

      - name: 安装pnpm
        run: |
          corepack enable
          corepack prepare pnpm@latest --activate
          # 也可选择npm全局安装方式:npm install -g pnpm

      - name: Portal Install Node.js dependencies
        working-directory: ./portals
        run: pnpm install

      - name: Portals Lint & tests
        working-directory: ./portals
        run: |
          cat .env.example > .env
          pnpm run build:tailwind
          pnpm run lint
          pnpm test

      - name: Services Install Node.js dependencies
        working-directory: ./services
        run: pnpm install

      - name: Services Lint & tests
        working-directory: ./services
        run: |
          pnpm run lint
          pnpm test

关键修改说明:

  • 添加安装pnpm步骤:利用Node.js内置的corepack工具启用并安装pnpm(Node.js 16.13.0及以上版本默认包含corepack),也可选择npm install -g pnpm直接全局安装。
  • 可选优化:如果项目根目录package.json中配置了packageManager字段(例如"packageManager": "pnpm@8.6.12"),可在setup-node步骤中添加cache: 'pnpm',此时setup-node会自动识别并安装指定版本的pnpm,无需手动编写安装命令。

内容的提问来源于stack exchange,提问作者Hamzah Hameed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:45:31