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

GitLab Runner无法识别latexmk命令的问题及排查解决

GitLab Runner CI/CD中latexmk命令无法识别的问题及解决方法

问题描述

本地已部署GitLab Runner及CI/CD运行所需的全部环境,执行CI/CD任务时,其他步骤均正常,唯独无法识别latexmk命令,报错信息如下:

'latexmk' is not recognized as an internal or external command, operable program or batch file.

但在相同目录下手动执行该命令可正常识别。

CI配置与脚本说明

.gitlab-ci.yml配置(使用PowerShell运行)

stages:
  - build
  - test
  - deployment

pages:
  stage: deployment
  script:
    - pip install -U sphinx
    - pip install sphinxcontrib-needs
    - pip install sphinxcontrib-plantuml
    - pip install sphinxcontrib-programoutput
    - pip install sphinx-book-theme
    - cd documentation
    - .\make.bat html
    - mv build\doctrees ..\public
    - mv build\html ..\public
    - .\make.bat latex
    - .\generation_pdf.bat
    - cd ..
  artifacts:
    paths:
      # The folder that contains the files to be exposed at the Page URL
      - public

生成PDF的脚本内容

通过.\\make.bat latex生成文件后,generation_pdf.bat中调用的脚本内容如下:

@ECHO OFF

REM Command file for Sphinx documentation

pushd %~dp0

set PDFLATEX=latexmk -pdf -dvi- -ps-

set "LATEXOPTS= "

set XINDYOPTS=-L english -C utf8  -M sphinx.xdy
set XINDYOPTS=%XINDYOPTS% -I xelatex
if "%1" == "" goto all-pdf

if "%1" == "all-pdf" (
    :all-pdf
    for %%i in (*.tex) do (
        %PDFLATEX% %LATEXMKOPTS% %%i
    )
    goto end
)

if "%1" == "all-pdf-ja" (
    goto all-pdf
)

if "%1" == "clean" (
    del /q /s *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz *.fls *.fdb_latexmk
    goto end
)

:end
popd

尝试过程与解决步骤

已在相同目录下模拟GitLab Runner的操作步骤(包括直接执行call make命令),问题依旧。后续尝试两种解决方法:

  • Fix 1:添加LaTeX路径到Runner环境变量
    在runner的config.toml文件中添加:

    pre_build_script = "$Env:PATH += \";C:\PathToMiktexFolder\""
    

    此操作解决了latexmk命令识别问题,但出现新报错:

    It seems that this is a fresh TeX installation. Please finish the setup before proceeding. For more information, visit: miktex.org/howto/install-miktex-win

  • Fix 2:替换TeX发行版
    因未找到完成MikTeX初始化设置的方法,卸载MikTeX并安装TeX Live后,问题彻底解决。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:47:36