更新后,tlmgr 无法找到 TeXLive/TLConfig.pm

更新后,tlmgr 无法找到 TeXLive/TLConfig.pm

在 Linux Mint 上将 texlive 从 2023 更新到 2024 后,tlmgr 似乎已损坏。运行时tlmgr update --self出现错误“无法在 @INC 中找到 TeXLive/TLConfig.pm”。

输出perl -e 'print join("\n", @INC)'包含路径/usr/local/texlive/2024/tlpkg

使用 检查丢失的文件find /usr/local/texlive/2024 -name TLConfig.pm表明丢失的文件位于其应该在的位置,即/usr/local/texlive/2024/tlpkg/TeXLive/TLConfig.pm

PERL5LIB 环境变量设置为/usr/local/texlive/2024/tlpkg

根据上一篇文章的建议,我也编辑TEXMFDIST/scripts/texlive/tlmgr.pl并替换了$Master = "$Master/../..";$Master = "${Master}/../../..";但没有任何明显效果。所以我把它改回了原来的状态。

我已经重新安装了 texlive(两次)并重新启动。

我不知道接下来该去哪里。

答案1

如果您在 Linux 上安装上游的 TeX Live(而不是使用 Linux 发行版的软件包)并使用建议的配置,则通常需要注销并重新登录以确保PATH所有 shell 和程序的设置正确。

但是,如果您以某种方式破坏了tlmgr,您可以重新安装它,而不必从头开始重新安装所有内容。请参阅 tug.org/texlive/tlmgr.html >“灾难恢复”。这应该可以让 tlmgr 恢复到可用状态,而无需再次下载整个 TL。

注 1

不要编辑 TeX Live 提供的脚本,除非你确信这些更改适用于你的情况。即使如此,也要复制一份原始脚本,以防你需要撤销它们。

除非您的配置非常不标准,否则您不需要做任何事情来perl识别 TL 目录。您也不需要修改,@INC因为脚本会自行完成。tlmgr找到路径,然后根据需要安排目录顺序。

也没有必要设置任何环境变量,例如PERL5LIB,尽管你确实需要确保perl可执行文件在你的中PATH。例如,我的包括

... /usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl ...

但这通常会在您安装时由您的 Linux 发行版自动确保perl

笔记2

可以进行配置,这样在 TeX Live 版本之间切换时就无需登录和退出。例如,这是/usr/local/texlive我的机器上的选择列表

drwxr-xr-x  9 texlive texlive 4.0K Maw   3 02:37 2023/
drwxr-xr-x  9 texlive texlive 4.0K Maw  27 02:28 2024/
lrwxrwxrwx  1 texlive texlive    8 Maw  15 21:28 bin -> bin.2024/
lrwxrwxrwx  1 texlive texlive   21 Meh  17  2023 bin.2023 -> 2023/bin/x86_64-linux/
lrwxrwxrwx  1 texlive texlive   21 Maw  15 21:28 bin.2024 -> 2024/bin/x86_64-linux/
lrwxrwxrwx  1 texlive texlive   12 Maw  15 21:29 current -> current.2024/
lrwxrwxrwx  1 texlive texlive    4 Meh  17  2023 current.2023 -> 2023/
lrwxrwxrwx  1 texlive texlive    4 Maw  15 21:28 current.2024 -> 2024/
-rw-r--r--  1 texlive texlive 5.5M Meh  16  2023 install-tl-unx-2023.tar.gz
-rw-r--r--  1 texlive texlive 5.6M Maw  15 19:25 install-tl-unx-2024.tar.gz
drwxr-xr-x 11 texlive texlive 4.0K Maw  27 02:28 texmf-local/

/usr/local/texlive/2024/bin/x86_64-linux/然后,您不再将 添加到PATH,而是将 添加到/usr/local/texlive/bin/。这样做的另一个好处是,将 TeX Live 添加到是一次性操作。安装新版本的 TeX Live 时PATH您无需再进行修改,因为一旦调整了两个符号链接,它就已经指向正确的位置了。PATHPATH

这是受到 MacTeX 过去的做法(可能现在仍然如此)的启发,人们只需在控制面板中单击一下即可切换版本。单击所做的只是调整两个符号链接,正如这里所演示的那样。

[实际上,由于 Apple 的原因,OS X 上的情况变得稍微复杂一些,但这些复杂性不会影响 Linux、FreeBSD 或类似系统。]

相关内容