当调用时tlgmr
,尤其是在分发升级的过程中,它会很早就失败,并出现 PERL 错误,后跟以下形式Can't locate TeXLive/TLConfig.pm in @INC
的列表:等等。@INC
@INC contains: /2020/texmf-dist/scripts/texlive /2020/tlpkg
设置PERL5LIB
到适当的文件夹可以得到更进一步的结果,但仍然失败
kpathsea: configuration file texmf.cnf not found in these directories: /2020/bin/x86_64-linux
ETC。
答案1
tlmgr
当通过指定不以 开头的相对路径来调用时,就会发生这种情况./
,例如user@machine:/opt/texlive$ 2020/bin/x86_64-linux/tlmgr update --self --all
。
由于某些(与 PERL 相关?)原因,这会使 tlmgr 搜索下的内容/2020/
。
改用user@machine:/opt/texlive$ ./2020/bin/x86_64-linux/tlmgr update --self --all
。
答案2
根据TeX Live 的 Arch Wiki,TEXMFDIST 中的 tlmgr 脚本已损坏。修复方法是编辑TEXMFDIST/scripts/texlive/tlmgr.pl
并替换$Master = "$Master/../..";
为$Master = "${Master}/../../..";
。或者对于基于 Arch 的 Linux 发行版用户,使用本地管理器反而。
答案3
我正在使用 fish shell,但我无法正确配置 PATH,
但要配置tlmgr
,现在我尝试这个解决方案:
- linux 找不到 tmlgr:
# try to search it in this directory
# /usr/share/texmf-dist/scripts/texlive/
# /opt/texlive/2021/texmf-dist/scripts/texlive/
# ...
- tmlgr 找不到目录:TeXLIVE?
在 @INC 中找不到 TeXLive/TLConfig.pm
$ /usr/share/texmf-dist/scripts/texlive/
|-- TeXLive
| |-- TLConfFile.pm
| |-- TLUtils.pm
....
|-- tlmgr.pl
|-- tlmgrgui.pl
- 如果你没有所有
*.pm
需要的tlmgr
,你可以从谷歌下载手册,就像我一样,我使用wget http://tug.ctan.org/systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -O /usr/share/texmf-dist/scripts/texlive/TeXLive
- 如果
tlmgr
找不到该目录TeXLive
:
您必须在 .bashrc 中使用全局变量。但我fishshell
现在无法使用它,所以我通过从我的原始路径到 /texmf-dist,或在 ~/perl 中...来link
让它为人所知path
tlmgr
$ sudo ln -s /usr/share/texmf-dist/ /
- 如果你需要这个文件,
/tlpkg/installer/config.guess
请从下载github
并将其放入tlpkg/installer/
- 有时你需要
tlmgr
在 usermod 中使用:
$ alias tlmgr='/usr/share/texmf-dist/scripts/texlive/tlmgr.pl --usermode'
答案4
我认为,问题与 Perl 有关。TeXLive 要求系统中存在某些 Perl 库。重新安装 Perl 后,这些库丢失了。我不得不重新安装 TeXLive(通过 Homebrew),问题就消失了。