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
- Debian/Ubuntu系:
确认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
相关产品推荐
相关产品推荐

