Windows11下MiKTeX Console及LaTeX编译故障求助
MiKTeX启动失败与LaTeX编译错误问题

在Windows 11设备上使用MiKTeX时遇到以下问题:
- 无论打开用户版还是管理员版MiKTeX Console,都会弹出错误提示:
MiKTeX cannot retrieve attributes for the directory 'C:\Windows\System32\hidapi.dll'
- 在Visual Studio Code中编译LaTeX文档时,出现
spawn latexmk ENOENT错误
已尝试以下步骤但未解决:
- 确认C:\Windows\System32目录下存在hidapi.dll文件
- 执行
sfc /scannow命令修复系统文件(修复了部分文件,但问题依旧) - 确保用户及管理员账户对hidapi.dll拥有完全控制权限
- 彻底重装MiKTeX
- 以管理员身份运行MiKTeX Console
解决方案尝试:
重置hidapi.dll权限并检查版本兼容性
- 打开管理员CMD,执行
icacls "C:\Windows\System32\hidapi.dll"查看权限明细,若存在权限继承异常,执行icacls "C:\Windows\System32\hidapi.dll" /reset重置权限,之后重新为用户和管理员账户分配完全控制权限。 - 确认hidapi.dll为64位版本(适配Windows 11),若为32位,替换为可信渠道获取的64位版本。
- 打开管理员CMD,执行
修复MiKTeX环境配置
- 打开系统环境变量,将MiKTeX的bin目录(例如
C:\Program Files\MiKTeX\miktex\bin\x64)移至PATH环境变量的最顶端,避免路径冲突。 - 在管理员CMD中进入MiKTeX的bin目录,执行以下命令刷新组件:
initexmf --admin --update-fndb initexmf --admin --mkmaps
- 打开系统环境变量,将MiKTeX的bin目录(例如
配置VS Code的LaTeX Workshop路径
- 打开VS Code设置,搜索
latex-workshop.latex.tools,手动指定latexmk的完整路径,示例配置:"latex-workshop.latex.tools": [ { "name": "latexmk", "command": "C:/Program Files/MiKTeX/miktex/bin/x64/latexmk.exe", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] } ] - 重启VS Code后尝试编译文档。
- 打开VS Code设置,搜索
排查安全软件拦截
- 临时关闭杀毒软件、防火墙等安全工具,尝试启动MiKTeX Console。若问题解决,将MiKTeX的所有程序及
C:\Windows\System32\hidapi.dll添加至安全软件白名单。
- 临时关闭杀毒软件、防火墙等安全工具,尝试启动MiKTeX Console。若问题解决,将MiKTeX的所有程序及
内容的提问来源于stack exchange,提问作者Daniel Teixeira
相关产品推荐
相关产品推荐

