升级R至3.5.0版本后,MikTeX在RStudio中运行失败报错
升级R到3.5.0后出现这类编译报错,大概率是环境配置冲突、权限限制或缺失LaTeX包导致的,我给你整理几个针对性的排查和解决步骤:
检查MikTeX的自动包安装权限
很多时候报错是因为MikTeX没有权限自动安装缺失的依赖包。打开MikTeX Console,进入「Settings」→「General」标签页,把「Install missing packages on-the-fly」设置为「Always」,同时确认当前用户拥有MikTeX安装目录的读写权限(如果之前用管理员权限安装,可能需要调整目录权限或重新安装为当前用户)。验证xelatex的路径配置
在RStudio控制台运行以下命令,确认系统能正确找到xelatex:Sys.which("xelatex")如果输出为空或路径与报错里的
D:\miktex\miktex\bin\x64\xelatex.exe不一致,需要把MikTeX的bin目录(D:\miktex\miktex\bin\x64)添加到系统PATH环境变量中,添加完成后重启RStudio再尝试编译。通过完整日志定位具体问题
你提供的日志片段不全,建议打开C:/Users/DELL/AppData/Local/MiKTeX/2.9/miktex/log/xelatex.log查看完整内容——通常会有类似LaTeX Error: File 'xxx.sty' not found的明确提示,这说明你缺少对应的LaTeX包。找到缺失包后,在MikTeX Console的「Packages」标签页搜索并安装即可。排除自定义header.tex的问题
先暂时移除Rmd开头的includes: in_header: header.tex配置,用极简文档测试编译:--- output: pdf_document: latex_engine: xelatex keep_tex: yes --- 这是一个测试文档。如果这个极简文档能编译成功,说明问题出在
header.tex里——可能用到了未安装的包或存在语法错误,需要逐一排查。重置RStudio的LaTeX编译配置
打开RStudio的「Tools」→「Global Options」→「Sweave」,确认「LaTeX compiler」选择的是xelatex,且路径指向正确的D:\miktex\miktex\bin\x64\xelatex.exe,若路径错误手动选择即可。
内容的提问来源于stack exchange,提问作者Deku

