首页 > 解决方案 > 配方因致命错误而终止:spawn latexmk ENOENT

问题描述

我刚刚安装了 debian 10 和 vscode。我已经为此苦苦挣扎了 3 天。我使用以下命令从终端安装了 texlive:

sudo apt install texlive

然后我在 vscode 中安装了 Latex Workshop 扩展并尝试构建一个.tex文件。弹出以下错误:

Recipe terminated with fatal error: spawn latexmk ENOENT.

然后我之前从终端安装了latexmk:

sudo apt install latexmk

之后同样的错误不断出现。输出显示了这一点。

[14:59:34] Recipe step env: {}
[14:59:34] cwd: /home/phoenix/Documents/stellies/year4/2021/s&s-414/pracs/prac-4/report
[14:59:34] LaTeX build process spawned. PID: undefined.
[14:59:35] LaTeX fatal error: spawn latexmk ENOENT, . PID: undefined.
[14:59:35] Does the executable exist? PATH: /app/bin:/usr/bin:/home/phoenix/.var/app/com.visualstudio.code-oss/data/node/bin:/home/phoenix/.var/app/com.visualstudio.code-oss/data/cargo/bin:/home/phoenix/.var/app/com.visualstudio.code-oss/data/python/bin
[14:59:35] The environment variable $SHELL: /bin/sh

然后我开始查看 texlive 网站。我注意到我没有设置路径变量来包含 texlive 二进制文件。texlive 网站给出了二进制文件的以下路径:PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH 但是/usr/local/texlive由于某种原因在我的系统上不存在。我在哪里可以找到 Debian 10 上 texlive 二进制文件的正确路径?

标签: visual-studio-codelatexdebian-buster

解决方案


我有同样的问题。根本原因是:(1) PATH 中缺少软件的 bin 文件夹;(2)坏文件权限。因此,VSC 无法访问latexmk,这解释了错误消息。

就我而言,问题发生在 Mac 上,特别是在我安装 MacTex 之后,MacTex 又安装了 Tex Live。我相信同样的解决方案也可能适用于 linux 发行版。

解决方案:

  1. /usr/local/texlive在文件夹:下声明文件所有权(最初是根)sudo chown -R <username> /usr/local/texlive,其中<username>是操作系统级别的用户名。该修复程序适用于该特定用户。如果还不够,请尝试适当地设置组所有者,和/或考虑第 3 步。

  2. 添加/usr/local/texlive/2021/bin/<software_dialect>到路径。<software_dialect>取决于安装的软件版本:在我的情况下是universal-darwin;在 linux 上可能是x86_64-linux.

  3. 如果问题仍然存在,请尝试在/usr/local/texliveusing下更改文件访问权限chmod

编辑:作为最后一步,重新启动 VSC 以使更改生效。


推荐阅读