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

GitHub Actions部署pnpm版Vite应用遇错及部署链接缺失问题

解决pnpm+Vite项目GitHub Actions部署的两个问题:仓库找不到&部署链接缺失

第一个问题:actions/actions-gh-pages仓库找不到错误

错误原因

你使用的actions/actions-gh-pages官方Action仓库已被归档移除,且当前Workflow同时混用了GitHub新版Pages部署流程(actions/configure-pages、actions/upload-pages-artifact)和已废弃的旧Action,直接触发仓库找不到的报错。

修复步骤

  1. 删除deploy任务中uses: actions/actions-gh-pages@v3的完整步骤
  2. 替换为新版官方部署Action:actions/deploy-pages@v2,该步骤会自动关联前面上传的构建产物

第二个问题:部署成功但无法获取部署链接

错误原因

你的Workflow环境配置存在两处问题:

  • 缩进错误:name: github-pages未缩进在environment字段下,导致环境配置不生效
  • 未正确关联部署步骤ID:注释了url字段,且未给deploy步骤设置id,无法读取steps.deployment.outputs.page_url变量
  • 额外问题:upload-pages-artifact的path设为.会上传整个仓库,而非Vite的构建产物目录dist

修复步骤

  1. 修正environment的缩进,将name: github-pages缩进至environment下一级
  2. 取消url字段的注释,给deploy步骤添加id: deployment以获取输出链接
  3. 将upload-pages-artifact的path改为./dist,确保只上传Vite构建产物

完整修复后的Workflow脚本

name: pnpm Example Workflow
on:
  push:
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18]
    steps:
      - uses: actions/checkout@v3
      - uses: pnpm/action-setup@v2
        with:
          version: 7
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'pnpm'
      - name: Install dependencies
        run: pnpm install
      - name: Build
        run: pnpm run build
  deploy:
    needs: build # 确保部署任务在构建完成后执行
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Setup Pages
        uses: actions/configure-pages@v3
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v1
        with:
          path: ./dist # 上传Vite构建产物目录
      - name: Deploy to GitHub Pages
        id: deployment # 设置步骤ID用于获取部署链接
        uses: actions/deploy-pages@v2

额外注意事项

  • 确保仓库已开启GitHub Pages功能,且部署源选择GitHub Actions
  • 若Vite项目有自定义基础路径,需在vite.config.js中设置base: '/你的仓库名称/',避免部署后资源加载失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:05:41