updmap 问题

updmap 问题

我遇到了类似的问题这个

我正在运行 Arch Linux,并从其存储库安装了 TexLive。我注意到我有一些配置文件(texmf.cnf 和 updmap.cfg)需要更新,因此我对它们进行了比较并更新了相关部分。对于 updmap,它只是向文件中添加了一些汉字字体映射。

然后,我认为我应该运行 updmap,因为我更改了配置。我得到了这个:

$ updmap
Can't locate TeXLive/TLUtils.pm in @INC (@INC contains: /tlpkg /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/bin/updmap line 18.
BEGIN failed--compilation aborted at /usr/bin/updmap line 18.

我检查了 TLUtils.pm 并发现了它:

$ locate TLUtils.pm
/usr/share/tlpkg/TeXLive/TLUtils.pm
/var/lib/texmf/arch/tlpkg/TeXLive/TLUtils.pm

我不知道@INC(听起来像 TL 路径?)在哪里定义,因此不知道在哪里被告知在哪里寻找 TLUtils.pm。

引用的第 18 行是这样的:

use TeXLive::TLUtils qw(mkdirhier mktexupd win32);

我猜有些东西在某次更新期间被移动了,也许有些路径仍然引用着一些现在已不存在的位置。我该如何纠正这个问题?

答案1

好的,听了你的回答后我明白发生了什么。

TL 二进制文件使用它们的位置来搜索它们的库。如果您在 中安装了 TL /usr/local/texlive,它们位于 中/usr/local/texlive/YEAR/bin/ARCH,并在诸如 等位置查找它们的库../../tlpkg。但是,您的updmap是从系统供应商安装的(或者您可能将其复制到那里而不是符号链接),并且它的位置是/usr/bin/,因此../../tlpkg给出了未找到任何内容的目录。

在中添加 TL2011 二进制文件的路径搜索路径,如export PATH=/usr/local/texlive/2011/bin/i386-linux:$PATH。或者仅将新二进制文件符号链接到/usr/local/bin:通常在 之前搜索此目录/usr/bin

相关内容