TLMGR 正在运行,现在正在错误的目录中查找 texlive.tlpdb

TLMGR 正在运行,现在正在错误的目录中查找 texlive.tlpdb

我不知道这个tlmgr问题是否与我的问题有关arara,但它们似乎是同时出现的(见...使用 Arara 运行 ConTeXt...tlmgr几个月前,我解决了一个复杂的问题(tlmgr_1tlmgr_2),之后就tlmgr无缝运行了。我今天尝试运行tlmgr,这是来自终端的对话框:

username@computername:~$ sudo tlmgr gui
[sudo] password for username:            
(running on Debian, switching to user mode!)
(see /usr/share/doc/texlive-base/README.tlmgr-on-Debian.md)
Loading local TeX Live database
  (/root/texmf/tlpkg/texlive.tlpdb)

>>NB>>> this file actually exists; BUT it's at /home/username/texmf/tlpkg/texlive.tlpdb !!

This may take some time, please be patient ...
TLPDB: not a directory, not loading: /root/texmf
tlmgr: user mode not initialized, please read the documentation!
Compilation failed in require at /usr/bin/tlmgr line 5285.

为方便起见,tlmgr 代码行 5279 至 5296 为:

See https://tug.org/texlive/distro.html#perltk for more details.
Goodbye.
";
      }
    } else {
      printf STDERR "$prg: unexpected problem loading Tk: $@\n";
    }                       <this is line 5285<<<<<<
    exit 1;
  }

  # now check that we can actually create a top level window,
  # on darwin the X server might not be started, or on unix we are working
  # on a console, or whatever.
  eval { my $foo = Tk::MainWindow->new; $foo->destroy; };
  if ($@) {
    printf STDERR "perl/Tk unusable, cannot create main windows.
That could be a consequence of not having X Windows installed or started!
Error message from creating MainWindow:

应戴博文要求,$PATH 为:

/home/*username*/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/ImageMagick-7.1.1-2:/usr/sbin/apache2:/usr/lib/apache2:/etc/apache2:/usr/share/apache2:/usr/share/man/man8/apache2.8.gz:/usr/local/texlive/2022/bin/x86_64-linux:/usr/local/texlive/2022/texmf-dist/scripts/arara/:/usr/bin/inkscape:/usr/lib/x86_64-linux-gnu/inkscape:/usr/share/inkscape:/usr/share/man/man1/inkscape.1.gz:/opt/Zotero-6.0.22_linux-x86_64:/usr/bin/context:/usr/local/texlive/2022/bin/x86_64-linux/context:/usr/share/man/man1/context.1.gz:/usr/sbin/apache2:/usr/lib/apache2:/etc/apache2:/usr/share/apache2:/usr/share/man/man8/apache2.8.gz:/usr/local/texlive/2022/bin/x86_64-linux:/usr/bin/inkscape:/usr/lib/x86_64-linux-gnu/inkscape:/usr/share/inkscape:/usr/share/man/man1/inkscape.1.gz:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/Zotero-6.0.22_linux-x86_64:/usr/bin/context:/usr/local/texlive/2022/bin/x86_64-linux/context:/usr/share/man/man1/context.1.gz:/usr/local/texlive/2022/bin/x86_64-linux/tlmgr:/usr/local/texlive/2022/bin/x86_64-linux/:/usr/local/texlive/2022/texmf-dist/scripts/arara:/opt/Zotero-6.0.22_linux-x86_64:/usr/bin/context:/usr/local/texlive/2022/bin/x86_64-linux/context:/usr/share/man/man1/context.1.gz:/usr/sbin/apache2:/usr/lib/apache2:/etc/apache2:/usr/share/apache2:/usr/share/man/man8/apache2.8.gz

按照戴博文的建议添加了符号链接后,我运行了命令$tlmgr gui,运行正常,但它将我带到了 Texlive 2021 版本的 GUI。使用符号链接在路径中按照建议,我运行了该程序$sudo tlmgr gui,得到了以下响应:

username@username-ComputerName:~$ sudo tlmgr gui
[sudo] password for username:            
(running on Debian, switching to user mode!)
(see /usr/share/doc/texlive-base/README.tlmgr-on-Debian.md)
Loading local TeX Live database
  (/root/texmf/tlpkg/texlive.tlpdb)
This may take some time, please be patient ...
TLPDB: Cannot determine type of tlpdb from /root/texmf!
tlmgr: user mode not initialized, please read the documentation!
Compilation failed in require at /usr/bin/tlmgr line 5285.
username@username-ComputerName:~$ 

我查看了(/root/texmf/tlpkg/texlive.tlpdb)哪个产生了错误。我发现/root/texmf只有不是文件tlpkg夹和文件texlive.tlpdb

但我确实在 找到了所需的文件/usr/local/texlive/2022/tlpkg/texlive.plpdb

作为一个典型的例子“知识匮乏是一件危险的事”/root/texmf然后我在里面创建了一个指向后者目录的符号链接。然后我测试了一下,毫无帮助。我没有把这个相当大的符号链接集合留在/root/texmf/目录中,而是把它们全部删除了。不过,在删除之前,我确实采取了预防措施,检查了目标目录,发现所有原始文件都还在那里。所以,我照做了,删除了符号链接。

很遗憾,不要问我怎么做到的——/usr/local/texlive/2022/tlpkg/现在所有的文件和文件夹已消失我收到了这个错误信息:

username@username-ComputerName:~$ sudo /usr/local/texlive/2022/bin/x86_64-linux/tlmgr gui
[sudo] password for username:            
Can't locate TeXLive/TLConfig.pm in @INC
(you may need to install the TeXLive::TLConfig module)
(@INC contains: /usr/local/texlive/2022/texmf-dist/scripts/texlive     /usr/local/texlive/2022/tlpkg /etc/perl     /usr/local/lib/x86_64-linux-gnu/perl/5.34.0    /usr/local/share/perl/5.34.0     /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5     /usr/lib/x86_64-linux-gnu/perl-base    /usr/lib/x86_64-linux-gnu/perl/5.34       /usr/share/perl/5.34 /usr/local/lib/site_perl)
at
/usr/local/texlive/2022/bin/x86_64-linux/tlmgr line 91.
BEGIN failed--compilation aborted at /usr/local/texlive/2022/bin/x86_64-linux/tlmgr line 91
username@username-ComputerName:~$

我快速浏览了 CTAN 和 TUG,但似乎没有关于如何(重新)安装TLConfig 模块讽刺的是,TLMGR 对重新安装没有任何用处 :( TeXLive 2022 DVD 中是否有“修复”方法?我发现了这个小窍门TUG TeXlive 安装说明其中确实可以看到,你可以使用命令从 DVD 运行安装程序install -tl -in-place;听起来安装程序会查看你已获得的内容,然后创建tlpkg/texlive.tlpdb 文件和文件夹

相关内容