配方因致命错误而终止:spawn Latexmk ENOENT

Ren*_*der 41 latex visual-studio-code debian-buster

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

sudo apt install texlive
Run Code Online (Sandbox Code Playgroud)

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

Recipe terminated with fatal error: spawn latexmk ENOENT.
Run Code Online (Sandbox Code Playgroud)

然后我先从终端安装 Latexmk:

sudo apt install latexmk
Run Code Online (Sandbox Code Playgroud)

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

sudo apt install texlive
Run Code Online (Sandbox Code Playgroud)

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

amk*_*a00 33

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

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

解决方案:

  1. /usr/local/texlive声明文件夹:下的文件所有权(最初是 root)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/texlive使用下的文件访问权限chmod

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

  • 谢谢,很有魅力!我用[这个答案](/sf/answers/1265454361/)添加我的zsh的路径:) (3认同)
  • 对于 **Arch Linux** 用户:此错误是由 texlive 包的重组引起的。请参阅下面我的回答,了解如何修复它。 (2认同)

exc*_*nge 17

如果您在Arch Linux上遇到此错误:Tex Live 软件包已在几天前(2023 年 6 月 18 日)重新组织,如本注释所示

这可能会导致一些烦人的行为,因为以前软件包中的某些命令可能已转移到您首先需要安装的软件包中,然后才能再次使用这些命令。此外,系统更新时不会通知这一点。

latexmk就是一个例子。此线程此处记录它已转移到texlive-binextra包。通过安装它

pacman -S texlive-binextra
Run Code Online (Sandbox Code Playgroud)

VSCode 会latexmk再次发现...


chj*_*jch 13

我最近在 MacOS Monterrey(基于 M1)上遇到了同样的问题。我用过basictex(仅用于上下文)。根据安装说明的要求,

  1. 我将 TeXLive 添加到 PATH 中,
  2. 将软件包安装latexmk到 TeX 发行版。

但是,仍然遇到与OP相同的错误。

再次更仔细地阅读wiki后,最终对我有用的方法就像重新启动 VS Code 和MacOS一样简单。重新启动 MAC 后,一切都按预期工作。

  • 重启 VScode 就可以了。谢谢 (4认同)

ych*_*ent 1

在 Mac 上,这是解决问题的方法

步骤1:从以下链接下载mactex来重新安装:http://www.tug.org/mactex/mactex-download.html

步骤2:在你的终端中cd /usr/local,你应该看到 texlive 文件夹

第三步:在你的终端中sudo vim etc/paths设置环境。详细信息在此链接中:https://www.architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/

第四步:在终端中执行/usr/local/texlive/2021/bin/x86_64-linux底部操作。检查文件夹以查看年份是否正确。详细信息请参见:http://www.tug.org/texlive/quickinstall.html

步骤5:完全退出VC代码,然后重新打开它。