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

如何在GitHub Actions中使用pnpm替代npm并解决命令未找到错误

解决GitHub Actions中pnpm: command not found的问题

问题原因

GitHub Actions默认的Ubuntu runner环境没有预装pnpm,直接执行pnpm命令会出现找不到的错误。

修改方案

在执行pnpm install之前,添加安装pnpm的步骤,推荐使用官方维护的setup-pnpm action来配置,确保版本可控且安装高效。

修改后的完整配置文件:

name: Generate a build and push to another branch

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    name: Build and Push

    steps:
      - name: git-checkout
        uses: actions/checkout@v3

      # 新增:安装并配置pnpm
      - name: Setup pnpm
        uses: pnpm/action-setup@v2
        with:
          version: 8 # 可根据项目需求指定pnpm版本,比如7、8等

      # 可选:配置对应版本的Node.js(项目有版本要求时添加)
      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18 # 替换为你的项目所需Node版本
          cache: 'pnpm' # 启用pnpm依赖缓存,加速后续流水线执行

      - name: Install all dependencies
        run: pnpm install

      - name: Build
        run: pnpm run build # The build command of your project

      - name: Push
        uses: s0/git-publish-subdir-action@develop
        env:
          REPO: self
          BRANCH: build # The branch name where you want to push the assets
          FOLDER: dist # The directory where your assets are generated
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GitHub will automatically add this - you don't need to bother getting a token
          MESSAGE: "Build: ({sha}) {msg}" # The commit message

关键说明

  • 使用官方pnpm/action-setup action可以快速完成pnpm的安装和环境配置,避免手动安装的复杂度。
  • 开启cache: 'pnpm'后,GitHub Actions会缓存pnpm的依赖包,大幅缩短后续流水线的依赖安装时间。
  • 根据项目实际情况调整pnpm和Node.js的版本号即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:27:11