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

GitLab CI/CD构建Gatsby项目时找不到generatetranslateFiles.js脚本

GitLab CI/CD中找不到自定义翻译脚本的问题排查与解决

问题描述

我正在搭建CI/CD流水线,将多语言架构的Gatsby项目部署到服务器。编写了自定义脚本generatetranslateFiles.js,用于从数据库拉取键值生成各语言JSON文件,该脚本放在translator文件夹下。

我在package.json中尝试了两种路径配置的npm脚本:

"scripts": {
    "translator": "node ./translator/generatetranslateFiles.js"
  }

最初的配置是:

"scripts": {
    "translator": "node translator/generatetranslateFiles.js"
  }

但两种配置下,GitLab CI/CD的install-job均提示找不到该脚本。本地执行gitlab-runner exec shell install-job能成功运行脚本,但流水线中始终报错。我的.gitlab-ci.yml内容如下:

image: node:16.17.0-alpine

cache:
  paths:
    - node_modules/
    - locales/

stages:
  - install
  - build

install-job:
  stage: install
  script:
    - npm install
    - npm run translator
  artifacts:
    paths:
      - node_modules
      - locales
    expire_in: 1 hour

build-job:
  stage: build
  script:
    - npm run build
  artifacts:
    paths:
      - public
    expire_in: 1 hour

排查与解决步骤

1. 确认脚本已被Git追踪

CI环境拉取的是仓库中的代码,如果translator/generatetranslateFiles.js未被添加到Git,流水线里自然找不到文件:

  • 本地执行git status,检查该文件是否在未追踪列表
  • 若未追踪,执行git add translator/generatetranslateFiles.js,提交后推送到仓库

2. 打印CI环境的目录结构

在CI脚本中先输出当前工作目录和文件列表,确认脚本路径是否正确:
修改install-job的script部分:

install-job:
  stage: install
  script:
    - pwd
    - ls -la translator/
    - npm install
    - npm run translator

通过输出结果可以直接看到CI环境中是否存在目标脚本,快速定位路径问题。

3. 跳过npm脚本直接执行

绕开npm的路径解析,在CI脚本中直接执行脚本,排查是否是npm脚本的路径配置问题:
修改install-job的script:

install-job:
  stage: install
  script:
    - npm install
    - node ./translator/generatetranslateFiles.js

4. 检查文件名大小写

Alpine Linux是严格区分大小写的,如果你本地用的是Windows(不区分大小写),可能存在文件名大小写不一致的情况(比如本地是GenerateTranslateFiles.js,仓库里是generatetranslateFiles.js),导致本地能跑但CI找不到。

  • 确认本地和仓库中的脚本文件名大小写完全一致

5. 清理CI缓存重试

旧缓存可能残留错误的目录结构,尝试清理缓存后重新运行流水线:

  • 进入GitLab项目的「CI/CD」→「缓存」页面,手动清理现有缓存
  • 或者修改.gitlab-ci.yml的缓存配置,新增key强制刷新缓存:
cache:
  key: ${CI_COMMIT_REF_SLUG}-v2
  paths:
    - node_modules/
    - locales/

内容的提问来源于stack exchange,提问作者José Luna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:30:52