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

Linux环境下R语言exams包exams2pdf报错:sh: line 1: : command not found

R exams包 exams2pdf 报错 sh: line 1: : command not found 解决方法

问题本质

这个错误并非shell调用失败,而是exams2pdf依赖的LaTeX编译工具未安装或未配置到位。system()能执行基础命令说明shell环境正常,问题出在PDF生成依赖的LaTeX环节。

排查与修复步骤

  • 检查LaTeX环境是否安装
    在终端执行pdflatex --version,若提示命令未找到,需安装完整LaTeX发行版:

    • Debian/Ubuntu系:
      sudo apt-get install texlive-full
      
    • RHEL/CentOS系:
      sudo yum install texlive-scheme-full
      
  • 确认LaTeX命令在系统PATH中
    在R中执行以下命令,验证pdflatex是否可被找到:

    Sys.which("pdflatex")
    

    若返回空字符串,说明LaTeX的bin目录未加入PATH。可临时在R中设置:

    # 替换为你的LaTeX bin路径
    Sys.setenv(PATH = paste(Sys.getenv("PATH"), "/usr/local/texlive/2024/bin/x86_64-linux", sep = ":"))
    

    或永久添加到系统环境变量配置文件(如~/.bashrc)。

  • 显式指定exams的PDF编译引擎
    直接在exams2pdf中指定编译命令,避免默认配置问题:

    exams2pdf("boxplots.Rmd", tex = "pdflatex")
    

    也可检查并设置全局默认编译命令:

    # 查看当前配置
    getOption("exams.tex")
    # 手动设置默认引擎
    options(exams.tex = "pdflatex")
    
  • 开启调试模式定位细节
    启用verbose模式查看exams2pdf执行的具体命令,进一步排查问题:

    exams2pdf("boxplots.Rmd", verbose = TRUE)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:57:07