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

Github Action打包client/mods文件夹时文件大小异常求助

问题诊断与修复方案

核心问题分析

client/mods文件夹在Github Action环境中仅为0.09MB、文件均为1KB左右的现象,大概率是Git LFS占位符文件未被替换为实际内容,或是Workflow缺失仓库代码拉取步骤导致文件异常。


修复步骤

1. 补充仓库代码拉取步骤(必做)

当前Workflow配置中缺少拉取仓库代码的关键步骤,Github Action runner默认不会自动克隆你的仓库,必须添加actions/checkout:

- name: 拉取仓库代码
  uses: actions/checkout@v4

若client/mods下的大文件使用Git LFS存储,需启用LFS拉取:

- name: 拉取仓库代码(含LFS文件)
  uses: actions/checkout@v4
  with:
    lfs: true

2. 验证Git LFS配置

检查仓库根目录的.gitattributes文件,确认client/mods的文件已被LFS追踪,规则示例:

client/mods/** filter=lfs diff=lfs merge=lfs -text

同时在本地执行以下命令,确认文件已通过LFS提交:

git lfs ls-files

若输出包含client/mods下的文件,说明LFS配置生效,必须在Action中启用LFS拉取。

3. 排查.gitignore规则

确认仓库的.gitignore未意外忽略client/mods下的文件,避免文件未被提交到仓库。

4. 验证Action环境文件状态

在main.ts的main函数开头添加目录遍历代码,打印文件实际大小,用于验证修复效果:

import { readdirSync, statSync } from "fs";

const main = async () => {
  const myFolder = "client/mods";
  // 打印mods目录下所有文件的大小
  readdirSync(myFolder).forEach(file => {
    const stats = statSync(`${myFolder}/${file}`);
    console.log(`${file}: ${stats.size} bytes`);
  });
  
  // 原有代码...
};

修正后的完整Workflow示例

name: Node.js CI

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]

jobs:
  hash-client-deploy:
    runs-on: ubuntu-latest

    steps:
      - name: 拉取仓库代码(含LFS文件)
        uses: actions/checkout@v4
        with:
          lfs: true

      - name: 设置Node.js环境
        uses: actions/setup-node@v4
        with:
          node-version: "22"

      - name: 安装依赖
        run: npm install

      - name: 执行部署脚本
        run: npm run start 

内容的提问来源于stack exchange,提问作者Роман Данчевський

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:26:03